所以我在C上编写了这段代码。我创建了一个父亲,它有两个子进程,一个成为僵尸。一秒钟之后它就会退出,等待他的父亲完成了。另一个子进程仍然是孤儿,然后完成。我的问题是,如果我更改wait
的{{1}}会发生什么。
waitpid
答案 0 :(得分:3)
引用wait/waitpid,
提供waitpid()函数有三个原因:
支持工作控制
允许wait()函数的非阻塞版本
允许库例程(例如system()或pclose())等待其子进程而不干扰进程尚未等待的其他已终止子进程
和
如果pid参数为(pid_t)-1且options参数为0,则waitpid()函数应等效于wait()。否则,其行为应由pid和options参数的值修改。 / p>
所以waitpid()的行为取决于它的参数。