Cシステムプログラミングのwait(null)
とwait(&status)
の違いは何ですか?
そして、ポインターの状態の内容は何ですか?
wait(NULL)
( wait(2) )を呼び出すと、子が終了するのを待つだけです。 wait(&status)
を使用すると、子が終了するのを待ちますが、子の終了についての情報を知りたいです。
たとえば、WIFEXITED(status)
を使用して、子が正常に終了するかどうかを知ることができます。
status
には、すでに定義されているMACROで確認できるプロセスに関する情報が含まれています。
wait(NULL)
は、子プロセスが完了するまで待機するだけです。ただし、wait(&status)
は、終了した子プロセスのプロセスIDを返します。
pid = wait(&status); // the information is returned