首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >waitpid()做什么?

waitpid()做什么?
EN

Stack Overflow用户
提问于 2010-09-08 13:28:32
回答 2查看 11.3K关注 0票数 8

waitpid()的用途是什么

EN

回答 2

Stack Overflow用户

发布于 2010-09-08 13:31:59

它通常用于根据进程ID (也称为pid),等待特定进程完成(或者,如果使用特殊标志,则更改状态)。

它还可以用于等待一组子进程中的任何一个进程,可以是来自特定进程组的进程,也可以是当前进程的任何子进程。

有关详细信息,请参阅here

票数 9
EN

Stack Overflow用户

发布于 2010-09-08 14:19:19

它会阻塞调用进程,直到指定的子进程退出(或者进行一些其他转换,比如停止)。

通常,当您可能有多个进程并且只关心一个进程时,您将使用waitpid而不是通用的wait

典型的用法是

代码语言:javascript
复制
pid_t child_pid;
int status;

child_pid = fork();

if (child_pid == 0) {
     // in child; do stuff including perhaps exec
} else if (child_pid == -1) {
     // failed to fork 
} else {
     if (waitpid(child_pid, &status, 0) == child_pid) {
          // child exited or interrupted; now you can do something with status
     } else {
          // error etc
     }
 }
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3664854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档