Diese Frage ist eine Folgemaßnahme zu: Unterbrechen und Fortsetzen von Prozessen
Ich habe Firefox von einer Bash-Sitzung im Gnome-Terminal gestartet.
Der Prozessbaum sieht folgendermaßen aus:
$ ps -e -o pid,ppid,cmd -H
1828 1 gnome-terminal
26677 1828 bash
27980 26677 /bin/sh /usr/lib/firefox-3.6.15/firefox
27985 27980 /bin/sh /usr/lib/firefox-3.6.15/run-mozilla.sh /usr/lib/firefox-3.6.15/firefox-bin
27989 27985 /usr/lib/firefox-3.6.15/firefox-bin
28012 27989 /usr/lib/firefox-3.6.15/plugin-container /usr/lib/adobe-flashplugin/libflashplayer.so 27989 plugin true
Wenn ich die CTRL+Z
Bash-Taste drücke, wird Firefox deaktiviert. Wenn ich den Befehl bg
(oder fg
) gebe, wird Firefox fortgesetzt. Das ist wie erwartet.
Wenn ich den Befehl kill -s SIGTSTP 27980
in einem anderen Terminal gebe, wird die Zeile [1]+ Stopped firefox
im ersten Terminal gedruckt (genau wie bei einem Treffer CTRL+Z
), aber Firefox wird nicht angehalten. Ich gehe davon aus, dass es nur das Shell-Skript anhält.
Wenn ich den Befehl kill -s SIGTSTP 27989
in einem anderen Terminal gebe (notiere die PID), wird Firefox angehalten. Das erste Terminal nimmt dies nicht zur Kenntnis.
Wie unterbricht bash den gesamten Prozessbaum? Überquert es nur den Baum und SIGTSTP alle Kinder?
pgid
Ihren ps
Befehl erweitern, um die Prozessgruppen anzuzeigen, über die @geekosaur spricht.