旧 Unix 中 WEXITSTATUS 的范围限制为 0-127?

zwo*_*wol 3 c history posix

众所周知的是,在很多如果不是全部的Unix,一个进程的退出状态时就会穿过截断的最低8位_exitwaitpidWEXITSTATUS。(POSIX的当前迭代指定的状态应该不会当穿过被截断_exitwaitid,但是这不是有关这个问题。)

是它曾经的情况下,可能在过去,退出状态将被截断的最低7位时通过任何机构后是相当于_exit/ waitpid/WEXITSTATUS在时间?如果是这样,那是哪个历史实现,以及多久以前的实现?

thr*_*rig 5

7 位将与 PDP-11 不同寻常,根据 unix 2nd edition manual (p.144) 将退出状态放入

r0 的低字节可用作父进程的状态。

R0是一个通用的 16 位寄存器,它的低字节将是一个完整的 8 位。里面wait R0有进程ID,而高字节MQ得到低字节R0,但这仍然是一个8位的值。