web-dev-qa-db-ja.com

wait(null)およびwait(&status)C言語およびステータス

Cシステムプログラミングのwait(null)wait(&status)の違いは何ですか?

そして、ポインターの状態の内容は何ですか?

20
user3260388

wait(NULL)wait(2) )を呼び出すと、子が終了するのを待つだけです。 wait(&status)を使用すると、子が終了するのを待ちますが、子の終了についての情報を知りたいです。

たとえば、WIFEXITED(status)を使用して、子が正常に終了するかどうかを知ることができます。

statusには、すでに定義されているMACROで確認できるプロセスに関する情報が含まれています。

24
user43968

wait(NULL)は、子プロセスが完了するまで待機するだけです。ただし、wait(&status)は、終了した子プロセスのプロセスIDを返します。

pid = wait(&status); // the information is returned
0
lahiruhashan