【发布时间】:2011-06-03 18:38:26
【问题描述】:
我有一个关于 Linux 中程序退出状态的问题。在我的程序中,我 fork 一个子进程并调用 waitpid 来获取它。当waitpid 返回时,我想检查我的子进程的退出状态。我转向手册寻求帮助,发现waitpid 的第二个参数将保持退出状态,我可以使用宏WEXITSTATE 来读取它。然而,这个宏只是提取了实际退出状态的最低有效 8 位,而在函数 exit(int ret_val) 的手册中,它将以ret_val & 0x377 退出,而不是最低有效 8 位。
我的问题是,其他更多位在哪里?我们只是放弃它们吗?为什么 Linux 采用这种策略?这种实现不会给我们的程序带来麻烦吗?
感谢和最好的问候。
【问题讨论】: