C语言中wait()的返回进程及子进程退出状态取值问题
C语言wait()函数行为与状态取值规则咨询
核心疑问
- C语言中的
wait()函数究竟会返回哪个进程的终止状态? - 结合提供的多fork分支代码场景,当进程p2运行结束时,
wait()会向&status指向的内存存入什么值? - 理清非显式
exit()传参场景下的状态取值规则:已知子进程通过exit(100)终止时,状态值会与100的退出码对应,但当前示例的状态取值逻辑不明确
场景对应代码
主函数实现:
int main() { int status; if ((p1 = fork()) != 0) { if ((p2 = fork()) != 0) { wait(&status); wait(&status); } else { processB(); } } return 3; }
自定义子流程函数定义:
int processB() { return 1; }
内容的提问来源于stack exchange,提问作者user15634520
相关产品推荐
相关产品推荐

