Linux プロセスを適切な方法で終了して、システム ログ ファイルに痕跡が残らないまま Linux がハングアップするのを防ぐことが非常に重要です。要するに、マスター プロセス (init、PID 1) があまりにも多くの孤立したプロセスによって一度に過負荷になると、Linux はシステム ログに理由を通知せずにハングアップします。
そうは言っても、Linux サーバーにアクセスできる通常のユーザーは、Linux サーバーを簡単に 1 分で終了させることができます!
ランナウェイ プロセスまたはオーファン プロセスを検出して見つけるにはどうすればよいでしょうか。ゾンビ VS 孤立プロセスに関する議論があり、孤立プロセスは次のように識別されます:
<ブロック引用>非システム プロセスまたは PPID (親プロセス ID) が 1 (初期プロセス ID) のユーザー プロセス。
init プロセスが所有するプロセスはあまりありません。どうやら、システムの起動後に実行されているほとんどのシステム プロセスの PPID は 1 です。
そのため、Linux システムが起動したらすぐに、次のコマンドを実行できます:
ps -elf | head -1; ps -elf | awk '{if ($5 == 1) {print $0}}'
このコマンドは、PPID 1 のすべてのプロセスのスナップショットを作成します。その結果を保持します。その後、コマンドを定期的に実行して、時間の結果を以前に取得したスナップショットと比較できます。新しいスナップショットで見つかった違いは、孤立したプロセスである可能性があります。
見つかった違いは、Linux システムの潜在的な (確認ではなく) 孤立したプロセスであることを示唆しているだけであることに注意してください。これらのプロセスを終了する前に、それらを確認するための詳細情報を入手する必要があります。たとえば、STIME の数値、CPU 使用率、実行目的の理解などです。
それらを確認したら、kill -9 コマンドを使用してできるだけ早くそれらを終了することを躊躇しないでください。孤立したプロセスは時間の経過とともに Linux システム リソースを使い果たします。