我对 Linux 中的程序退出状态有疑问。在我的程序中,我派生了一个子进程并调用waitpid
它来获取它。返回时waitpid
,我想检查我的子进程的退出状态。我转向手册寻求帮助,发现 的第二个参数waitpid
将保持退出状态,我可以使用宏WEXITSTATE
来读取它。然而,这个宏只是提取了实际退出状态的最低有效 8 位,而在功能手册中exit(int ret_val)
,它将以 退出ret_val & 0x377
,而不是最低有效 8 位。
我的问题是,其他更多的位在哪里?我们只是放弃它们吗?为什么 Linux 采用这种策略?这个实现不会给我们的程序带来麻烦吗?
谢谢和最好的问候。