关于wait()和waitpid()

时间:2016-10-13 07:35:49

标签: c wait waitpid

所以我在C上编写了这段代码。我创建了一个父亲,它有两个子进程,一个成为僵尸。一秒钟之后它就会退出,等待他的父亲完成了。另一个子进程仍然是孤儿,然后完成。我的问题是,如果我更改wait的{​​{1}}会发生什么。

waitpid

1 个答案:

答案 0 :(得分:3)

引用wait/waitpid

  

提供waitpid()函数有三个原因:

     
      
  • 支持工作控制

  •   
  • 允许wait()函数的非阻塞版本

  •   
  • 允许库例程(例如system()或pclose())等待其子进程而不干扰进程尚未等待的其他已终止子进程

  •   

  

如果pid参数为(pid_t)-1且options参数为0,则waitpid()函数应等效于wait()。否则,其行为应由pid和options参数的值修改。 / p>

所以waitpid()的行为取决于它的参数。