좀비 프로세스란? 발생 이유와 확인 방법

좀비 프로세스는 실행을 완료했으나 죽지 않고 계속 프로세스 테이블에 남아 있는 프로세스입니다. 정상적으로 동작하지 않는 프로세스가 메모리만 차지하고 남아있으니 좀비 프로세스가 쌓일수록 시스템은 문제가 생깁니다. 좀비 프로세스가 발생하는 이유와 운영체제별로 좀비 프로세스 현황을 확인하는 방법을 알아보겠습니다.

좀비 프로세스

발생하는 이유

좀비 프로세스는 부모 프로세스가 자식 프로세스를 제대로 종료하지 못할 때 발생합니다. 그런 상황은 보통 부모 프로세스가 자식 프로세스보다 먼저 종료되는 경우 발생합니다. 원래 자식 프로세스는 부모 프로세스가 종료해줘야 합니다.

 

그렇다고 부모 프로세스가 먼저 종료된 모든 경우에 좀비 프로세스가 발생하는 건 아닙니다. 예를 들어 리눅스에선 컴퓨터가 실행될 때 init 또는 systemd라는 PID 1을 가진 프로세스가 존재하는데, 만약 부모 프로세스가 죽으면 init이 자동으로 남은 자식 프로세스의 부모 프로세스가 됩니다. 그럼 init은 기회가 될 때 프로세스를 종료시킬 수 있습니다.

 

즉 장기적으로 좀비 프로세스가 쌓인다는 건 전반적으로 시스템이 제대로 작동하지 못하고 있다는 의미로 해석할 수 있습니다.

확인 방법

리눅스

리눅스에서 ps 명령어를 통해 좀비 프로세스를 확인할 수 있습니다. 좀비 프로세스는 상태가 Z로 표시됩니다.

ps aux | grep Z

윈도우

윈도우에서는 작업 관리자를 통해 좀비 프로세스를 확인합니다만, 리눅스의 Z처럼 명확한 상태 표시를 제공하지 않습니다. 때문에 작업 관리자에서 응답 없음으로 표시되는 프로세스를 찾거나 리소스 모니터로 프로세스의 상태를 추적하는 방법으로 좀비 프로세스를 식별합니다.

반응형

댓글

Designed by JB FACTORY