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