繁体   English   中英

子进程出错并等待`C`

[英]Error with child process & wait `C`

在下面的代码中,如果在创建子进程时遇到问题,或者子进程发生问题,则wait(&status)会发生什么?

pid_t pid;
int status;
if(pid=fork()){
   printf("Parent Process\n");
   wait(&status);
} else... child process here

如果创建子进程有问题,fork将返回-1 ,因此该代码将永不wait

如果子进程发生问题,则等待将返回,您可以观察status

如果无法创建子级,则fork()将返回-1,之后应查看errno。 此处未创建错误过程。 您的代码不会检查这种情况。

如果孩子被创建并死亡,wait()将返回终止进程的PID,状态中给出了孩子死亡的原因。 请参见手册页,以等待如何从状态中提取含义。

暂无
暂无

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

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