加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – waitpid()的使用示例?

发布时间:2020-12-16 03:24:07 所属栏目:百科 来源:网络整理
导读:我知道waitpid()用于等待一个进程完成,但是如何才能正确使用它? 这里我想做的是创建两个孩子,等待第一个孩子完成,然后在退出之前杀死第二个孩子. //Create two childrenpid_t child1;pid_t child2;child1 = fork();//wait for child1 to finish,then kill c
我知道waitpid()用于等待一个进程完成,但是如何才能正确使用它?

这里我想做的是创建两个孩子,等待第一个孩子完成,然后在退出之前杀死第二个孩子.

//Create two children
pid_t child1;
pid_t child2;
child1 = fork();

//wait for child1 to finish,then kill child2
waitpid() ... child1 {
kill(child2) }

解决方法

waitpid()的语法:
pid_t waitpid(pid_t pid,int *status,int options);

pid的值可以是:

>< -1:等待进程组ID等于pid绝对值的任何子进程.
> -1:等待任何子进程.
> 0:等待流程组ID等于调用进程的子进程.
>> 0:等待进程ID等于pid值的小孩.

选项的值为以下常量中的零个或多个OR:

> WNOHANG:如果没有孩子退出,马上回来.
> WUNTRACED:如果孩子已经停止,也返回.即使未指定此选项,也提供已停止的跟踪儿童的状态.
> WCONTINUED:如果通过发送SIGCONT恢复了已停止的小孩,则返回.

要获得更多帮助,请使用man waitpid.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读