Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

Linux의 좀비 및 고아 프로세스

<시간/>

좀비, 고아 및 데몬 프로세스에 대한 세부 정보는 다음과 같습니다.

좀비 프로세스

좀비 프로세스는 실행이 완료되었지만 여전히 프로세스 테이블에 항목이 있는 프로세스입니다. 좀비 프로세스는 일반적으로 자식 프로세스에 대해 발생합니다. 부모 프로세스는 여전히 자식의 종료 상태를 읽어야 하기 때문입니다. 이것이 대기 시스템 호출을 사용하여 완료되면 좀비 프로세스는 프로세스 테이블에서 제거됩니다. 이것을 좀비 프로세스를 수확하는 것으로 알려져 있습니다.

좀비 프로세스의 생성과 종료를 보여주는 다이어그램은 다음과 같습니다.

Linux의 좀비 및 고아 프로세스

좀비 프로세스는 시스템 리소스를 사용하지 않지만 프로세스 ID는 유지합니다. 좀비 프로세스가 많으면 사용 가능한 모든 프로세스 ID가 좀비 프로세스에 의해 독점됩니다. 이것은 사용 가능한 프로세스 ID가 없기 때문에 다른 프로세스가 실행되는 것을 방지합니다.

고아 프로세스

고아 프로세스는 상위 프로세스가 종료되거나 완료되었음에도 불구하고 여전히 실행 중인 프로세스입니다. 프로세스는 의도적이든 아니든 고아가 될 수 있습니다.

의도적으로 분리된 프로세스는 수동 지원 없이 백그라운드에서 실행됩니다. 이것은 일반적으로 무기한 실행되는 서비스를 시작하거나 사용자의 주의 없이 장기 실행 작업을 완료하기 위해 수행됩니다.

부모 프로세스가 충돌하거나 종료되면 의도하지 않게 분리된 프로세스가 생성됩니다. 프로세스 그룹 메커니즘을 사용하여 의도하지 않은 고아 프로세스를 방지할 수 있습니다.