systemd.service TimeoutSecの値を「無限大」に変更しても効果はありません。

systemd.service TimeoutSecの値を「無限大」に変更しても効果はありません。

私のapp.serviceファイルの[Service]セクションは次のとおりです。

[Service]
Type=forking
Restart=no
IgnoreSIGPIPE=no
GuessMainPID=no
ExecStart=/opt/app/appl_init.d start
ExecStop=/opt/app/appl_init.d stop
TimeoutSec=infinity

その後、アプリケーションをインストールし、ファイルが/usr/lib/systemd/system/app.service

実行してみましたが、systemctl daemon-reload開始時間には何の影響もないようでした!次のエラーsystemctl start appで実行すると失敗します。systemctl reload app.service

Job for app.service failed because a fatal signal was delivered to the control process. See "systemctl status app.service" and "journalctl -xe" for details

出力は次のとおりsystemctl status appです。 -

● app.service - ApplicationTest
   Loaded: loaded (/opt/app/appl_init.d; enabled; vendor preset: disabled)
   Active: failed (Result: signal) since Tue 2017-03-21 01:55:22 EDT; 1min 4s ago
     Docs: man:app(8)
  Process: 4126 ExecStart=/opt/app/appl_init.d start (code=killed, signal=KILL)

Mar 21 01:55:22 centosvm systemd[1]: Starting ApplicationTest...
Mar 21 01:55:22 centosvm systemd[1]: app.service start operation timed out. Terminating.
Mar 21 01:55:22 centosvm systemd[1]: app.service stop-final-sigterm timed out. Killing.
Mar 21 01:55:22 centosvm systemd[1]: app.service: control process exited, code=killed status=9
Mar 21 01:55:22 centosvm systemd[1]: Failed to start ApplicationTest.
Mar 21 01:55:22 centosvm systemd[1]: Unit app.service entered failed state.
Mar 21 01:55:22 centosvm systemd[1]: app.service failed.

私が気づいたもう1つの奇妙なことは、実行中にsystemctl show app.service -p TimeoutSec結果が得られないことです。空白ですか?

サイコロを作ってみましたsystemctl rebootが、まだサイコロはありません。

もちろん、値を別のものに変更すると(たとえば)TimeoutSec=5min正常に動作します。ただし、無限大を占めるにはこのアプリケーションが必要です。

私はどこで間違っていますか?

ベストアンサー1

229 より前の systemd バージョンを使用している場合、タイムアウトを無効にするには、無限大の代わりに 0 を使用する必要があります。

おすすめ記事