簡體   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