JavaプロセスはRedhatのSystemdのSIGTERMによって終了します。

JavaプロセスはRedhatのSystemdのSIGTERMによって終了します。

私はnohupと&を使用してJavaプロセスを起動します(バックグラウンドで実行)。このプロセスはしばしば終了します。終了時のパターンはありません。アプリケーション(javaプロセス)ログからSIGTERM信号を受信して​​いることは明らかです。だから私はstraceを使ってSIGTERM信号のソースを見つけ、それがシステムであることを見つけました。

systemdが管理していないプロセスを終了しようとしているのはなぜですか?

トレース出力

13:35:20.838755 futex(0x7f1ef1ae49d0, FUTEX_WAIT, 16917, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
22:17:17.211643 --- SIGTERM {si_signo=SIGTERM, si_code=SI_USER, si_pid=1, si_uid=0} ---
22:17:17.211876 futex(0x7f1ef0e9c720, FUTEX_WAKE_PRIVATE, 1) = 1
22:17:17.211974 rt_sigreturn({mask=[]}) = 202
22:17:17.212183 futex(0x7f1ef1ae49d0, FUTEX_WAIT, 16917, NULL) = ?
22:17:17.538874 +++ exited with 143 +++

DMESGとメッセージログをシャッフルしていますが、プロセスが終了した理由を示すものはありません。

編集:Javaプロセスはユーザーがbashコマンドで始まります。ただし、ユーザーログインはシステム単位のpblocaldを使用して制御されます。

ベストアンサー1

おすすめ記事