답변내용: 우분투에서 표시되는 zombie process는 이미 실행이 종료되었지만, 부모 프로세스가 종료 상태를 회수하지 않아 프로세스 테이블에 남아 있는 상태를 의미합니다. 좀비 프로세스 자체는 CPU나 메모리를 거의 사용하지 않기 때문에 시스템에 즉각적인 부하를 주지는 않습니다.
좀비 프로세스는 kill 명령으로 직접 종료할 수 없습니다. 이미 종료된 상태이기 때문에 실제로 종료할 대상이 없기 때문입니다. 해결 방법은 부모 프로세스를 정리하는 것입니다.
우선 다음 명령어로 좀비 프로세스를 확인할 수 있습니다. ps -ef | grep Z
또는 ps aux | grep defunct
좀비 프로세스를 생성한 부모 프로세스의 PID(PPID)를 확인한 후, 해당 부모 프로세스를 정상 종료하거나 재시작하면 커널이 좀비 프로세스를 자동으로 정리합니다. 예를 들어 문제가 되는 서비스나 데몬 프로세스가 있다면 해당 서비스를 재시작하는 것이 가장 안전한 방법입니다.
만약 부모 프로세스가 이미 비정상 상태이거나 종료할 수 없는 경우, 시스템 재부팅을 하면 모든 좀비 프로세스는 완전히 제거됩니다.
정리하면, 좀비 프로세스가 1~2개 정도 존재하는 것은 큰 문제가 아니며, 지속적으로 증가하거나 다수 발생하는 경우에만 원인 프로세스를 찾아 조치하는 것이 바람직합니다.