Thread ^C in Script abfangen, nach SIG{INT} weitere Befehle ausführen (6 answers)
Opened by YAPD at 2015-10-04 23:11

hlubenow
 2015-10-05 15:55
#182503 #182503
User since
2009-02-22
877 Artikel
BenutzerIn
[default_avatar]
2015-10-05T08:45:00 Linuxer
Das Problem dürfte da aber sein, dass system() auf Beendigung des Kind-Prozesses wartet und den Exitcode des Kindes liefert. Um die PID zu erhalten, müsste da wohl etwas mehr Aufwand getrieben werden.

Ich bin gar nicht sicher, ob er die PID braucht. Wenn er nur weitere Befehle ausführen will, nachdem das hängende Programm gestartet ist, würde es auch ein einfaches "&" tun.
Also:
Code: (dl )
perl -e 'system("grep ab");print "Hallo\n"'

Hängt, weil grep auf STDIN wartet.
Code: (dl )
perl -e 'system("grep ab &");print "Hallo\n"'

Hängt nicht, weil grep in einer Subshell gestartet wird und dort auf STDIN wartet.
Weißt Du natürlich, aber ich weiß einfach nicht, wie's der OP gern hätte.

View full thread ^C in Script abfangen, nach SIG{INT} weitere Befehle ausführen