当前位置:嗨网首页>书籍在线阅读

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()不能使用上述标志。