systemd 構文の変更と違い

systemd 構文の変更と違い

これらのエラーが発生した後:

nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: failed (Result: core-dump) since Mon 2022-09-26 22:17:21 UTC; 8h ago
       Docs: man:nginx(8)

失敗した場合は、nginxを監視して再起動してください。しかし、他の情報源は異なるシンタシーを提案します。

Restart=always
Restart=on-failure

出荷書類ビーチ時間制労働者または単位このパラメータは説明されていません。これはまた、基本タイマーが何であるか、具体的に設定すべきかどうかの不確実性を引き起こす。

ファイルnginx.serviceはディレクトリに1つを含め、もう1つを含めるように編集されました/usr/lib/systemd/system
興味深いことに、ディレクトリには/lib/systemd/system同じファイルがあり(両方のファイルがエイリアスとして表示されていません。ディレクトリエイリアスが使用されていると仮定しますか?)、あるファイルの変更は別のファイルに反映されます。
すべての変更は以下によって行われます。systemctl daemon-reload

変更のため、nginxは期待どおりに再起動されませんでした。したがって:

  • これら2つの新田市の違いは何ですか?
  • 指定しない場合、デフォルトで適用されるタイマーは何ですか?

答え1

すべてのsystemdディレクティブにインデックスがありますman systemd.directives;の場合、Restart=結果は次のようになります。man systemd.service

Restart=マネージドサービスが終了したときに何が起こるべきかを決定します。on-failureシグナルまたは管理操作のタイムアウトによってゼロ以外の終了コードで終了する場合は、再始動する必要があることを指定します。alwaysすべての場合に再起動する必要があることを指定します。

これには監視タイムアウトはなく、プロセスが終了すると再開されます。ウォッチドッグを使用してサービスを設定できますが、これにはマネージドサービス(ウォッチドッグに定期的に通知する必要があります)の協力が必要です。

関連情報