2013-05-02 73 views
1

我正在制定一個計劃並瞭解父母/子女流程。 目前我的子進程確實C父母/子女出口變量

exit(variable); 

在我的main()我有:

signal(SIGCHLD, chldHandler); 

超出了我的main()我有:

void chldHandler(int sig) { 

} 

如何訪問來自可變我chldHandler?

回答

1

您在信號處理程序中使用wait(),傳入非NULL指針以獲取狀態。

int status; 
wait(&status); 

爲解碼狀態,請檢查其正常退出,然後使用WEXITSTATUS()宏:

if (WIFEXITED(status)) { 
    int variable = WEXITSTATUS(status); 
    /*...*/ 
}