8.7 waitid函数-进程控制

本文详细介绍了Linux系统中的waitid函数,它提供了一种更灵活的方式来等待子进程。通过不同的idtype参数(如P_PID、P_PGID、P_ALL),用户可以指定等待特定进程、进程组或所有子进程。此外,通过设置options参数,用户可以选择关注进程的不同状态变化,如连续执行、退出、暂停等。infop参数则提供了关于引起状态改变的信号的详细信息。通过这些特性,waitid函数为进程管理提供了强大的工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

8.7 waitid函数-进程控制

waitid函数类似于waitpid,但提供了更多的灵活性。

#include <sys/wait.h>

int waitid(idtype_t idtype, id_t id, siginfo_t *infop. int options);

//返回值:成功返回0,出错返回-1

waitpid相似,waitid允许一个进程指定要等待的子进程。但它使用单独的参数表示要等待的子进程的类型,而不是将此与进程ID或进程组ID组合成一个参数。id参数的作用与idtype的值相关。

 常量

说明

P_PID

等待一个特定的进程:id包含要等待子进程的进程ID

P_PGID

等待一个特定进程组中的任一个子进程:id包含要等待子进程的进程组ID

P_ALL

等待任一个子进程:忽略id

8.3 waitididtype常量

options参数是图8.3中各标志的按位。这些标志指示调用者关注那些状态变化。

常量

说明

WCONTINUED

等待一个进程,它以前曾被暂停,此后又已继续,但其状态尚未报告

WEXITED

等待已退出的进程

WNOHANG

如无可用的子进程退出状态,立即返回而非阻塞

WNOWAIT

不破坏子进程退出状态。该子进程退出状态可由后续的waitwaitidwaitpid调用取得

WSTOPPED

等待一个进程,它已经暂停,但其状态尚未报告

8.4 waitidoptions常量

infop参数是指向siginfo结构的指针。该结构包含了有关引起子进程状态改变的生成信号的详细信息。

转载于:https://www.cnblogs.com/shaoguangleo/archive/2011/10/19/2806017.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值