or1ko's diary

日々を書きます

zombieプロセスは殺せないのね

先生と今日やったテストの話をしていたら、zombieプロセスはkillコマンドで殺せないと言われて、ショックを受けたので実験してみた。以下のプログラムを動かして、zonbieプロセスを作成。

#include<stdio.h>
#include<sys/types.h>
#include<unistd.h>

int main() {

  pid_t pid;

  pid = fork();

  if( pid == 0 ) {
    printf("child return");
    return 0;
  }

  for(;;) {}

  return 0;
}

実行結果

$ ./a.out
$ ps
  PID TTY          TIME CMD
  828 pts/9    00:00:00 zsh
 1851 pts/9    00:07:49 a.out
 1852 pts/9    00:00:00 a.out <defunct>
 2124 pts/9    00:00:00 ps

1852に対して、killしてもkill -9しても確かに死なないわ。うわー。そういえば、授業中にzombieプロセスを作る実験をしてみてと言ってたなあ〜。ちゃんとやらないとだめですね。