ゾンビプロセスとは? – システム上の不必要な存在を理解する

IT用語を分かりやすく噛み砕いて、初心者でもスムーズに仕事の会話に参加できるように解説します。このIT用語辞典の目的は「会話についていく」であり、情報レベルは基礎中の基礎の会話についていけるレベルです。これさえ見れば仕事の会話は怖くない! IT用語辞典

ざっくりと

  • 終了したはずのプロセス
  • システムリソースを占有
  • 特別な手順で対処

ゾンビプロセスは、終了してもリソースを占有するプロセスです。

概要説明

ゾンビプロセスとは終了したはずのプロセスがシステム上に残る現象である。 なぜならば、通常の操作では消去できず、CPUやメモリーなどを占有するからだ。

例えばWindowsではタスクマネージャで強制終了をかけたり、再起動を行ったりする必要がある。そしてLinuxでは親プロセスにkillコマンドで終了と入力して、応答しないようなら強制終了させることで、子プロセスがinitプロセス管轄となる。

つまりゾンビプロセスはシステムのパフォーマンスに影響を及ぼす可能性がある。だからその対処法を知ることが重要である。

職業職種

システム管理者

システム管理者は、ゾンビプロセスを理解して対処する必要がある。なぜなら、これらのプロセスはシステムパフォーマンスに影響を及ぼす可能性があるからだ。例えばタスクマネージャやtaskkillコマンドを使って強制終了をかける。

プログラマ

プログラマも、ゾンビプロセスの存在とその対処法を知っておくべきだ。なぜなら、自分の作成したプログラムが原因でゾンビプロセスを生じさせる可能性があるからだ。例えば親プロセスにkillコマンドで終了と入力する。

パソコンユーザー

一般的なパソコンユーザーも、ゾンビプロセスがパソコンのパフォーマンスに影響を及ぼす可能性があることを理解しておくべきだ。なぜなら、ゾンビプロセスが存在するとパソコンの動作が遅くなる可能性があるからだ。例えば再起動を行う。

ゾンビプロセスは、名前の由来は、そのまま「ゾンビ」です。なぜなら、ゾンビのように生き返ってしまうプロセスだからです。

類似語

オーファンプロセス

オーファンプロセスは、親プロセスが終了した後も残るプロセスである。なぜなら、親プロセスが終了した後に子プロセスが残ってしまい、新たな親プロセスが見つからないためだ。例えば、プログラムの途中で親プロセスがクラッシュした場合など。

デーモンプロセス

デーモンプロセスは、ユーザーの介入を必要とせずにバックグラウンドで動作するプロセスである。なぜなら、これらのプロセスはシステムが必要とする様々なタスク(ネットワークリクエストの処理など)を自動的に行うためだ。例えば、メールサーバーやWebサーバーなどのプロセス。

スレッド

スレッドは、プロセス内で独立して動作する作業の単位である。なぜなら、複数のスレッドが同時に動作することで、プロセスは複数のタスクを並行して実行することができるからだ。例えば、ユーザーインターフェースを担当するスレッドと、計算処理を担当するスレッドなど。

反対語

アクティブプロセス

アクティブプロセスは、現在実行中のプロセスである。なぜなら、これはゾンビプロセスの正反対で、CPUを占有し、具体的なタスクを実行しているからだ。例えば、ブラウザやワードプロセッサーなどのアプリケーション。

親プロセス

親プロセスは、子プロセスを生み出し、管理するプロセスである。なぜなら、ゾンビプロセスは親プロセスから見捨てられているが、親プロセスは子プロセスを活動させる役割を持つからだ。例えば、オペレーティングシステムやシステムサービスなど。

ユーザープロセス

ユーザープロセスは、ユーザーが直接操作するプロセスである。なぜなら、これはゾンビプロセスとは反対に、ユーザーの操作により終了させることができるからだ。例えば、ゲームやエディターなどのプログラム。

会話例

友達とPCの話をしている場面

「なんでPCが急に重くなったんだろう?」
「ゾンビプロセスが原因かもしれないね。プロセスが終了してるのに、まだシステムに残ってるやつのことさ。」

コンピューター教室の授業中

「先生、ゾンビプロセスって何ですか?」
「良い質問だね。ゾンビプロセスはプロセスが終了したのにシステム上でまだ存在している状態のことを言うんだよ。」

ソフトウェア開発者同士の会話

「ゾンビプロセス、どうやって防ぐんだっけ?」
「Linuxだと親プロセスにkillコマンドで終了させて、強制終了させればいいよ。Windowsだと、タスクマネージャかtaskkillコマンドで強制終了させるか、再起動させればいいんだ。」

注意点

ゾンビプロセスを対処する時の注意点は、適切な方法で終了させることである。なぜならば、適切な方法で終了させないと、ゾンビプロセスは再度発生する可能性があるからだ。

例えば、Windowsではタスクマネージャを使ってゾンビプロセスを強制終了させる。そして、強制終了ができない場合は再起動を行う。だから、適切な方法で対処しよう。

ゾンビプロセスとオーファンプロセスは、間違えやすいので注意しましょう。

ゾンビプロセスは処理が終了しているけれどもシステム上に残ってしまっているプロセスです。

一方、オーファンプロセスは親プロセスが終了した後もシステム上に残ってしまっているプロセスです。

macOSでの対応

  1. ターミナルを開く。
  2. ps aux | grep Zと入力し、エンターキーを押す。これにより、システム上のゾンビプロセスがリスト表示される。
  3. リストに表示されたプロセスを確認し、ゾンビプロセスのPID(プロセスID)とPPID(親プロセスID)をメモする。
  4. 親プロセスを終了させるには、ターミナルにkill -HUP [PPID]を入力。[PPID]の部分は前のステップでメモした親プロセスのIDに置き換える。
親プロセスを終了させると、その他の子プロセスに影響を及ぼす可能性がある。したがって、どのプロセスを終了させるかは慎重に決定する。 また、”kill”コマンドが効果を発揮しない場合、または問題が解決しない場合は、システムの再起動を試みる。これにより、ゾンビプロセスが清算されるはず。
当IT用語辞典の目的は「会話についていく」であり、情報レベルは基礎中の基礎で、どこよりもわかりやすくなるように、例えを入れたりしてますが、逆にわかりにくかったらごめんなさい。さらに正確性、具体性、最新性を求めてる方は、もっとググってください。
YouTubeのチャンネル登録はこちら!!
ポチッと応援よろしくね!!
開発・運営ランキング にほんブログ村 IT技術ブログ IT技術情報へ
記事を書いてる人
デプロイ太郎

IT業界の下層に長くいすぎたのかも知れないおじさんです。プロフィールまで見てくれてるのなら、ブログのブックマークとYouTubeのチャンネル登録とX(旧Twitter)のフォローお願いします。

ネットの裏側を見せるYouTube運営中!!

デプロイ太郎のSNSを見てみる!!
IT用語辞典
デプロイ太郎のSNSを見てみる!!

コメント

  1. ゾンビプロセスを知れて助かりました。

タイトルとURLをコピーしました