c – waitpid()的使用示例?

前端之家收集整理的这篇文章主要介绍了c – waitpid()的使用示例?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道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.

猜你在找的C&C++相关文章