간단한 c 코드를 컴파일하고 실행하여 좀비프로세스를 생성하고, 다시 그 프로세스를 죽이는 방법이다.
1. 좀비 프로세스 생성
1.1. c 코드 내용
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
int main ()
{
pid_t child_pid;
child_pid = fork ();
if (child_pid > 0) {
sleep (60);
}
else {
exit (0);
}
return 0;
}
1.2. 컴파일 하기
$ cc zombie.c -o zombie
1.3. 실행 하기
$ ./zombie &
1.4. 프로세스 확인 하기
$ ps -e -o pid,ppid,stat,cmd
2. 좀비프로세스 죽이기
좀비프로세스는 부모 프로세스를 죽여야 죽일 수 있다.
$ ps -ef | grep defunct | egrep -v grep | awk '{print $3}' | xargs kill -9
좀비 프로세스 만들기 - defunct