Linuxが孤立したゾンビプロセス(元の親によってリサイクルされていないプロセス)を継承する場合、そのプロセスはSIGCHLD
(PID 1プロセス)に転送されますか?init
ベストアンサー1
はい。私はそれをテストしました。どこでこれが起こっているのかを見ることができますLinuxコードから。
テスト:入れ子になったシェルを起動します。他の場所の親シェルkill -s STOP
。その後、kill -s KILL
サブシェル、親シェルです。
メモ:
たとえば、内部的にこれを試してみると、gnome-terminal
収穫機はPID 1ではありません。子収穫機、つまりプロセスになりますsystemd --user
。
また、systemd
信号を処理するにはsignalfdを使用してください。したがって、strace -p
systemdプロセスで実行すると、受信した信号は表示されません。代わりに、epoll_wait()とファイル記述子の読み取り()でsystemdが目を覚ますことがわかります。
signalfdを使用してファイル記述子番号を確認できますls -l /proc/<PID>/fd/<FD>
。それは言うでしょうanon_inode:[signalfd]
。