ゾンビプロセス 【zombie process】
概要
ゾンビプロセス(zombie process)とは、コンピュータ上で実行状態にあるプログラム(プロセス)のうち、終了したはずなのにシステム上は残存していることになっており、資源を占有したまま停止しているもの。Linuxのゾンビプロセス
LinuxなどUNIX系OSでは、プロセスが終了して既にプログラムの実体は消滅したのに、プロセステーブルには存在が残ってしまっている状態をこのように呼ぶ。
子プロセスが終了シグナル(SIGCHLD)を送信したのに親プロセスが何らかの理由で子プロセスの消滅処理(waitシステムコール)を発行していないために起きるもので、占有していたメモリ領域などが解放されずに放置されてしまう。
ゾンビプロセスの存在を確かめるにはpsコマンドを実行し、プロセス一覧で「STAT」欄が「Z」、末尾に「defunct」と表示されているものを探せば良い。親プロセスにkillコマンドで終了を促し、応答しないようなら強制終了させることで、子プロセスがinitプロセス管轄となり消滅する。
Windowsのゾンビプロセス
Windowsの場合、デスクトップアプリケーションのウィンドウも通知領域のアイコンも消滅し利用者からは終了したように見えるが、システム上はプログラムが未だに実行状態にあるものをゾンビプロセスと呼ぶことがある。画面からは操作要素が消えているため通常の操作で終了させることはできず、タスクマネージャやtaskkillコマンドで強制終了を試みるか、ログオフや再起動を行うことで消滅する。
(2021.11.25更新)