_exit
많은(전부는 아니지만) Unix에서 , 및 를 전달할 때 프로세스의 종료 상태가 가장 낮은 8 waitpid
비트로 잘리는 것으로 알려져 있습니다 WEXITSTATUS
. (POSIX의 현재 반복에서는 상태가 다음과 같아야 함을 지정합니다.아니요and 를 통과할 _exit
때 잘립니다 waitid
. 하지만 이 질문과 관련이 없습니다. )
이런 상황이 있었나 아마깊은과거에는 종료 상태가 가장 낮은 값으로 잘렸습니다.일곱_exit
// 당시에 비트가 전달되는 메커니즘은 무엇입니까 waitpid
? WEXITSTATUS
그렇다면 어떤 역사적 구현이 있었고 얼마나 오래 전에 이루어졌습니까?
답변1
7비트는 PDP-11에서는 흔하지 않습니다.유닉스 제2판 매뉴얼에 따르면(p.144) 다음과 같이 종료 상태를 제거합니다.
r0의 하위 바이트는 상위 프로세스의 상태로 사용될 수 있습니다.
R0
일반적인 16비트 레지스터이므로 하위 바이트는 전체 8비트입니다. 위의 in 의 상위 바이트 wait
R0
는 프로세스 ID이고 MQ
in 의 상위 바이트는 in 의 하위 바이트이지만 R0
이는 여전히 8비트 값입니다.