05-因克隆生成的子进程而对waitpid()进行的扩展
28.2.2 因克隆生成的子进程而对waitpid()进行的扩展
为等待由clone()产生的子进程,waitpid()、wait3()和wait4()的位掩码参数options可以包含如下附加(Linux特有)值。
__WCLONE
一经设置,只会等待克隆子进程。如未设置,只会等待非克隆子进程。在这种情况下,克隆子进程终止时发送给其父进程的信号并非SIGCHLD。如果同时还指定了WALL,那么将忽略WCLONE。
__WALL(自Linux2.4之后)
等待所有子进程,无论类型(克隆、非克隆通吃)。
__WNOTHREAD(自Linux2.4之后)
默认情况下,等待(wait)类调用所等待的子进程,其父进程的范围遍及与调用者隶属同一线程组的任何进程。指定__WNOTHREAD标志则限制调用者只能等待自己的子进程。
waitid()不能使用上述标志。