等待(null)和等待(&status)C语言和状态

24
在C系统编程中,“wait(null)”和“wait(&status)”有什么区别?指针status的内容是什么?

1
更正了你的标签。这不是一个纯粹的C语言问题,而是一个POSIX相关的问题。 - Deduplicator
2个回答

30
如果您调用wait(NULL) (wait(2)), 您只等待任何子进程终止。使用wait(&status),您等待一个子进程终止,并想知道关于其终止的一些信息。
例如,您可以使用WIFEXITED(status) 来了解子进程是否正常终止。 status 包含有关进程的信息,您可以使用一些预定义的宏来检查这些信息。

1

wait(NULL) 只会等待子进程完成。 但是, wait(&status) 会返回已终止的子进程的进程 ID。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接