pertanyaan ini merupakan tindak lanjut ke: Bagaimana cara menunda dan melanjutkan proses
Saya sudah mulai firefox dari sesi bash di gnome-terminal.
Pohon proses terlihat seperti ini:
$ 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
Ketika saya menekan CTRL+Z
bash, itu akan menangguhkan firefox. Ketika saya mengeluarkan perintah bg
(atau fg
) itu akan melanjutkan firefox. Ini seperti yang diharapkan.
Ketika saya mengeluarkan perintah kill -s SIGTSTP 27980
di terminal lain, itu akan mencetak baris [1]+ Stopped firefox
di terminal pertama (seperti ketika saya menekan CTRL+Z
), tetapi tidak menangguhkan firefox. Saya menganggap itu hanya menunda skrip shell.
Ketika saya mengeluarkan perintah kill -s SIGTSTP 27989
(perhatikan PID) di terminal lain, itu akan menangguhkan firefox. Terminal pertama tidak mencatat hal ini.
Bagaimana bash menangguhkan seluruh pohon proses? apakah itu hanya melintasi pohon dan SIGTSTP semua anak-anak?
pgid
Anda ps
untuk melihat proses yang dibicarakan grup @geekosaur.