_exit
多くの(すべてではありませんが)Unixでは、およびを渡すとプロセスの終了状態が最も低い8waitpid
ビットに切り捨てられることが知られていますWEXITSTATUS
。 (POSIXの現在の反復では、状態が次のようになることを指定します。いいえandを通過する_exit
と切り捨てられますwaitid
。しかし、この質問とは関係ありません。 )
このような状況がありましたか深い過去には、終了状態が最も低い値に切り捨てられました。七_exit
//その時点でビットが渡されるメカニズムは何ですかwaitpid
?WEXITSTATUS
では、どのような歴史的な実装があり、どのくらい前に行われたのでしょうか。
ベストアンサー1
7ビットはPDP-11では一般的ではありません。Unixの第2版マニュアルによると(p.144)次のように終了状態を削除します。
r0 の下位バイトは、親プロセスの状態として使用できます。
R0
一般的な16ビットレジスタなので、下位バイトは合計8ビットです。上記のinの上位バイトwait
R0
はプロセスIDであり、MQ
inの上位バイトはinの下位バイトですが、R0
これはまだ8ビット値です。