問題は、私は最後
私は殺害」と相関することができ、私はあなたのコード例に唯一のもので、それを殺すことなく、これらの子供たちのいずれかを作成することができないということです"子どもたちはexit()
への呼び出しです。しかし、私はそれらを「殺す」とはまったく言わないでしょう。各子供は、作業の最後にexit()
を実行すると、正常に終了するだけです。
さらに、その時点で子どもを持つ必要はありません。exit()
彼らが終了しない場合、彼らはif
ブロックから単に続行します。自分の子供をフォークしたくない場合は、exit()
の代わりにbreak
を入れて、周囲のループから脱出することができます。
それはそれを行うことが理にかなっているのかどうかという疑問を抱きます。実際にループを離れると子どもたちが実行するのにふさわしいいくつかの仕事が実際に存在していない限り、彼らが今のようにexit()
と呼ぶことは正しいことです。
とにかく、子プロセスを強制終了させるのではなく強制的に終了させたいのであれば、@dbushはどのように行うのかを示しています。しかし、おそらく、子がすべて自分で終了するまで、親のためにがループ後にを待つことを好みます。その場合、kill()
を@dbushが示すように呼び出す代わりに、waitpid()
を呼び出すことができます。あなたが手作業で子供を殺すと、その後にはでもを待つべきであることにも注意してください。あなたが子供たちを独立して走らせ続けることを望む場合にのみ、あなたがそれらを待たずに済むようにしてください。
Hm。誰があなたを強制的に殺すのですか? –
あなたの問題は何か分かりません。しかし、子供たちを殺していることを話すことは、どちらの方法でも悪い考えのように聞こえる。 – Olaf
@Olafそれらをゾンビにすることはそれほど良いことではありません:) –