我有关于Linux程序退出状态的问题。在我的程序中,我fork了一个子进程并调用waitpid来回收它。当waitpid返回时,我想检查子进程的退出状态。我阅读了手册,发现waitpid的第二个参数将保存退出状态,我可以使用宏WEXITSTATUS来读取它。然而,这个宏只提取真实退出状态的最低有效8位,而在exit(int ret_val)函数的手册中,它将以ret_val&0x377退出,而不是最低有效8位。
我的问题是,其他更多的位在哪里?我们是否简单地舍弃了它们?为什么Linux采用这种策略?这种实现是否会给我们的程序带来麻烦?
谢谢和最好的问候。
我的问题是,其他更多的位在哪里?我们是否简单地舍弃了它们?为什么Linux采用这种策略?这种实现是否会给我们的程序带来麻烦?
谢谢和最好的问候。