Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products

Linux環境でのゾンビ プロセスの終了

Summary: ゾンビプロセスとは何か、それを見つける方法、そしてそれを強制終了または終了する方法。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

ゾンビプロセスとは:
これは終了したプロセスですが、プロセス記述子がメモリに残っているため、すべてがメモリからすぐに削除されるわけではありません。

プロセスの通常の動作はどうあるべきか
プロセスが終了すると、プロセスのステータスは EXIT_ZOMBIE また、プロセスの親プロセスには、その子プロセスが終了したことが通知されます。 SIGCHLD signal.

その後、親プロセスは wait() システムコールが死んだプロセスの終了状態やその他の情報を読み取るためのもの。変更後 wait() が呼ばれると、ゾンビプロセスがメモリから削除されます。これは迅速に行われるため、システムにゾンビ プロセスが蓄積されることはありません。ただし、複数のゾンビプロセスが蓄積されている場合、これはプログラムコードが効率的ではない状況です

ゾンビプロセスを見つける方法:
コマンドの実行 top
Topコマンドの結果

コマンドの実行 ps -ef | grep defunct
非アクティブ コマンドの結果

ゾンビプロセスの蓄積を終了する方法:
ほとんどの場合、ゾンビ プロセスには同じ親プロセス ID があります

プロセスを削除するには、次の2つの方法があります。
  • 送信 SIGCHLD 親プロセスにシグナルを送ります。
このシグナルは、親プロセスに wait() システムコールを行い、そのゾンビの子をクリーンアップします。
kill -s SIGCHLD <PPID>
Example:
kill -s SIGCHLD 2201
  • ゾンビの親プロセスを強制終了します
kill -9 <PPID>
Example:
kill -9 2201

Affected Products

Dell OpenManage Enterprise, NetWorker Series
Article Properties
Article Number: 000019108
Article Type: How To
Last Modified: 06 Aug 2024
Version:  3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.