부모 프로세스가 종료되면 좀비 프로세스를 처리하는 방법은 무엇입니까?

부모 프로세스가 종료되면 좀비 프로세스를 처리하는 방법은 무엇입니까?

상위 프로세스가 종료된 좀비 프로세스를 제거하기 위해 Unix 시스템에서 사용되는 기술은 무엇입니까?

답변1

프로세스의 상위 프로세스가 종료되면 init(프로세스 1)이 프로세스를 상속합니다. 그런 다음 좀비가 되었거나 좀비가 된 프로세스를 수집합니다.

수확은 대개 부모가 합니다. 부모는 자녀가 언제 죽는지 알아야 하기 때문입니다. 또한 부모 프로세스가 이를 알 때까지 자식 프로세스의 pid 재사용을 중단해야 합니다. 그래야 부모가 잘못된 프로세스에 신호를 보내지 않습니다(올바른 pid가 신호를 받았지만 이제 pid는 새 프로세스에 속합니다). 수확하는 과정에서 부모는 자녀에 대해 잊어야 합니다.

답변2

프로세스가 종료되고 해당 프로세스에 좀비 상태의 하위 프로세스가 있는 경우 모든 좀비 하위 프로세스의 상위 프로세스 ID는 1(init 프로세스)로 설정되어 하위 프로세스를 상속하고 정리합니다(즉, init는 그러면 좀비가 제거됩니다.)

관련 정보