C 父/子退出变量

标签 c variables parent-child

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

exit(variable);

在我的 main() 中我有:

signal(SIGCHLD, chldHandler);

在我的 main() 之外我有:

void chldHandler(int sig) {

}

如何从我的 chldHandler 访问变量?

最佳答案

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

int status;
wait(&status);

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

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

关于C 父/子退出变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16348630/

相关文章:

CUDA 程序在 Tesla K20 上运行速度比 GTX 965 慢

c - 打印 char 数组末尾的意外输出

c - 重新分配后如何更改保存的地址

c - 在现有的 C 国际象棋引擎中实现多线程

javascript - 为什么我不能将 javascript 变量设置为 false?

c# - 在方法中放置局部变量声明的最佳实践?

perl - 如果在另一个命名空间中使用未声明的变量,为什么 Perl 不会发出警告 - 我怎样才能得到警告?

mysql - 在 MySQL 中连接父/子节点表时出现问题 - 减少结果集

我可以使用管道作为在父级读取并在子级写入吗?

java - 父/子类关系 - indexOf