C父/子退出变量

时间:2013-05-02 22:16:33

标签: c variables parent-child

我正在开发一个程序并学习父/子进程。 目前我的子进程确实

exit(variable);

在我的主()中我有:

signal(SIGCHLD, chldHandler);

在我的主要()之外我有:

void chldHandler(int sig) {

}

如何从chldHandler访问变量?

1 个答案:

答案 0 :(得分:1)

在信号处理程序中使用wait(),传入非NULL指针以获取状态。

int status;
wait(&status);

要解码状态,请检查它是否正常退出,然后使用WEXITSTATUS()宏:

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