1. ホーム
  2. linux

[解決済み] 何が私のプロセスを殺したのか、なぜなのか?

2022-03-14 06:17:33

質問

私のアプリケーションは、Linux上でバックグラウンドプロセスとして動作しています。現在、ターミナルウィンドウのコマンドラインから起動しています。

最近、あるユーザーがこのアプリケーションをしばらく実行していたところ、謎の死を遂げました。という文章があります。

<ブロッククオート

死亡

が端末にあった。これは2回起こりました。別のターミナルで誰かがkillコマンドを使ってプロセスを終了させたかどうか尋ねました。いいえ。

どのような場合にLinuxは私のプロセスを殺すと判断するのでしょうか? シェルが "killed" と表示したのは、プロセスが kill(9) シグナルを受信して死んだからだと思います。 Linux が kill シグナルを送ったら、システムログのどこかになぜ殺されたかを説明するメッセージがあるはずでしょう?

解決方法は?

ユーザーまたはシステム管理者がプログラムを強制終了しなかった場合、カーネルが強制終了した可能性があります。カーネルは、極端なリソース不足(mem+swapの枯渇を考えてください)のような例外的な状況下でしかプロセスを kill しないでしょう。