私の同僚の一人が、今朝、彼がsupervisordを "kill -9"で殺したとき、スーパーバイザーのサブプロセスが殺されていないと言った。親プロセスが "kill -9"で殺されると、サブプロセスも殺されますか?
彼はそれについてかなり確信していますが、私は何度も試してみましたが、それは起こりませんでした。
親プロセスがkill -9でkillされると、linuxはサブプロセスも強制終了されていることを確認しますか?
私の同僚の一人が、今朝、彼がsupervisordを "kill -9"で殺したとき、スーパーバイザーのサブプロセスが殺されていないと言った。親プロセスが "kill -9"で殺されると、サブプロセスも殺されますか?
彼はそれについてかなり確信していますが、私は何度も試してみましたが、それは起こりませんでした。
親プロセスがkill -9でkillされると、linuxはサブプロセスも強制終了されていることを確認しますか?
父親が殺されたときに殺されるようにするためには、サブプロセスをデーモンにする必要があります。それ以外の場合はinit(1)によって採用されます。
いいえ、親プロセスが強制終了されたときに子プロセスが必ずしも強制終了されるわけではありません。
しかし、子にパイプが開いていて、親がそれを読み込んでいる場合、次にパイプに書き込もうとするとSIGPIPEが返されます。デフォルトのアクションはそれを殺すことです。それはしばしば実際に何が起こるかです。
あなたが殺したいプロセスやサービスを知るだけでいいです。私の場合は、httpdがあります。
killall -9 httpd
これは、httpdのすべての子プロセスを強制終了します。
完全に質問のポイントを逃した。 –
この投稿は、提起された質問には答えません。他の回答があるので、この投稿を削除することをお勧めします。 –
プロセスの親プロセスIDである端末pidを閉じると、端末は閉じます。ターミナルが閉じられると、そのプロセスもすべて終了します。しかし、もしあなたがシェル内にサブシェルを作成すると、プロセスが作成され、そのプロセスのppidが終了すると、そのサブシェルだけがkillされ、その子は孤児になります。その親はinitになり、pidは1になります。
[trainee @ SIPL〜] $ ps -ef |グレープ睡眠訓練生3893 3870 0 10:55 pts/1 00:00:00睡眠4000訓練生3895 3788 0 10:55 pts/0 00:00:00 grep --color = auto sleep [training @ SIPL〜] $ kill - 9 3870 [training @ SIPL〜] $ ps -ef | grep sleep training 3893 1 0 10:55 pts/1 00:00:00 sleep 4000トレーニング者3906 3788 0 10:55 pts/0 00:00:00 grep - color = auto sleep
ゾンビプロセスの作成方法に興味があり、システムでどのように処理されるかを試してみるとゾンビプロセスが作成されます: http://www.unix.com/unix-dummies-questions-answers/100737-how- do-you-create-zombie-process.html – Klathzazt
デーモン、父親、親、子、ゾンビの各プロセスがあります。 コンピュータはそのような楽しい気まぐれな話を伝えます。 – jwarner112