gpt4 book ai didi

c - 使用 waitpid() 的例子?

转载 作者:太空狗 更新时间:2023-10-29 16:30:27 25 4
gpt4 key购买 nike

我知道 waitpid() 用于等待进程完成,但具体如何使用它呢?

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

//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:WAITING任何进程组ID等于pid绝对值的子进程。
  • -1:WAITING任何子进程。
  • 0:WAITING其进程组ID等于调用进程的任何子进程。
  • > 0:WAITING进程ID等于pid值的子进程。

options 的值是零个或多个以下常量的 OR:

  • WNOHANG:如果没有 child 退出,立即返回。
  • WUNTRACED:如果 child 停止了,也返回。即使未指定此选项,也会提供已停止的跟踪子项的状态。
  • WCONTINUED:如果停止的 child 已通过 SIGCONT 的传送恢复,也返回。

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

关于c - 使用 waitpid() 的例子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21248840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com