현재 비활성 상태 인 죽은 프로세스가 있습니다. 즉, 상위 프로세스가 종료 값을 읽지 않았 음을 의미합니다. (그리고 그것을 읽지 않을 것입니다)존재하지 않는 프로세스의 종료 값을 읽음
부모 프로세스가 읽을 수있는 커널의 어딘가에 종료 값이 저장되어 있다는 것을 알고 있지만, 부모가 아닌 경우 그 값을 읽을 수있는 방법이 있습니다. 프로세스?
이상적으로는 쉘이나 비정상적인 C/python/your-favorite-language 프로그램에서이 작업을 수행 할 수 있습니다.
[편집] 이것은 아이를 낳거나 죽이는 방법에 관한 질문이 아닙니다. 프로세스 테이블의 슬롯을 사용하는지는 신경 쓰지 않습니다. 나는 그 출구 가치가 무엇인지 알고 싶다. 즉, 커널에서 task_struct-> exit_code를 읽으 려합니다. ECHILD
가 발생합니다 호출 프로세스의 자식 중 하나가 아닌 프로세스에 대한 waitpid()
전화를 시도
마티유
나는'init'이 모든 좀비의 부모 역할을 담당한다고 생각합니다. 확실하지 않습니다. – Linuxios
아니요, 부모가 죽었을 때만 적용됩니다. 부모가 아직 실행 중이지만 종료 값을 읽지 못한다는 사실을 알았습니다. – mathieu
솔라리스에서는'preap'을 사용하는 것이 사소한 일입니다. 리눅스에 대해서는 모르겠지만, – Petesh