函数 wait waitpid 和 waitid

1. 进程 A 调用 wait 和waitpid 会发生什么

  • 如果 A 的所有紫金城都还在运行,则 A 阻塞
  • 如果一个子进程终止了,正在等待父进程获取其终止状态,则取得该子进程的终止状态立即返回;
  • 如果 A 没有任何子进程,则立即出错返回。

2. wait 和 waitpid 的区别

  • 在一个子进程终止之前,wait 使其调用者阻塞,而 waitpid 有一个选项,可以使调用者不阻塞;
  • waitpid 并不等待在其调用之后的第一个终止的子进程,它有若选项,可以控制它所等待进程。

3. waitid

  • 与 waitpid 相似,waitid 允许一个进程指定等待的子进程;
  • 但是 waitid 使用两个独立的参数表示等待的子进程的属性,而不是将次与进程 ID 或者进程组 ID 组合成一个参数。

你可能感兴趣的:(Linux)