2013-05-02 52 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); 
    /*...*/ 
}