私が現在働いている会社では、レガシーサービスがあり、その初期化スクリプトは古いSysvInitを使用していますが、systemd(CentOS 7)で実行されています。
多くの計算があるため、このサービスは終了するのに約70秒かかります。systemdのタイムアウトを設定せず、デフォルトの設定を変更しませんでした/etc/systemd/system.conf
が、それでもservice SERVICE stop
サービスを実行すると60秒後にタイムアウトになります。
journalctl -b -u SERVICE.service
私はこのログを見つけて確認します:
Sep 02 11:27:46 service.hostname systemd[1]: Stopping LSB: Start/Stop
Sep 02 11:28:46 service.hostname SERVICE[24151]: Stopping service: Error code: 255
Sep 02 11:28:46 service.hostname SERVICE[24151]: [FAILED]
既にDefaultTimeoutStopSec
プロパティを/etc/systemd/system.conf
toに変更しようとしました90s
が、タイムアウトが発生します。
なぜ60秒でタイムアウトするのですか?このタイムアウト値が設定されている他の場所はありますか?確認する方法はありますか?
このサービスはjava 7で実行され、デーモン化するためにJSVCを使用します。-wait
値を使用してパラメーターを構成しました120
。
TimeoutSec=infinity
—これにより再起動が無期限にブロックされる可能性はありませんか?そのプロセスが終了するのに「永久に」かかる場合はどうなりますか?私のような、大規模な量をお勧めしたい5min
、おそらくないinfinity
...