1. 进程 A 调用 wait 和waitpid 会发生什么
- 如果 A 的所有紫金城都还在运行,则 A 阻塞
- 如果一个子进程终止了,正在等待父进程获取其终止状态,则取得该子进程的终止状态立即返回;
- 如果 A 没有任何子进程,则立即出错返回。
2. wait 和 waitpid 的区别
- 在一个子进程终止之前,wait 使其调用者阻塞,而 waitpid 有一个选项,可以使调用者不阻塞;
- waitpid 并不等待在其调用之后的第一个终止的子进程,它有若选项,可以控制它所等待进程。
3. waitid
- 与 waitpid 相似,waitid 允许一个进程指定等待的子进程;
- 但是 waitid 使用两个独立的参数表示等待的子进程的属性,而不是将次与进程 ID 或者进程组 ID 组合成一个参数。