繁体   English   中英

当两个进程等待同一个孩子时会发生什么?

[英]What happens when two processes wait for the same child?

从我读到的内容, wait / waitpid的默认行为是等待进程中的状态更改。 我找不到使用相同pid_t参数的两个进程waitpid的预期行为。

两者都返回并继续执行,还是一种只有一个人注意到状态改变的竞争条件?

只有父级可以等待一个进程,而一个进程当然只能有一个父级。

但是,父进程可能具有多个线程。 如果有多个线程在等待同一个子线程,则POSIX指定仅其中一个线程会看到状态更改。 要允许多个线程查看状态更改,必须将waitid()与WNOWAIT标志一起使用。

POSIX:状态信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM