それぞれサービスを実行しているLinuxボックスはほとんどありません。これは、これらのマシンで実行される唯一の重要なプロセスです。ただし、サービスの内部状態の変更が原因で、サービス自体が正常に停止する場合があります。私が探しているのは、これが起こったときにシステム全体をシャットダウンする慣用的な方法です。基本的に、myservice
サービスが実行されなくなったときにsystemdがシステムを停止するようにします。
これを行う簡単な方法はありますか?
現時点で私がしていることは、システムmyservice-monitor
を監視しmyservice
、それがmyservice-monitor
停止したときにシステムをシャットダウンする別のサービスを開発したことです。それはすべて動作しますが、私はより慣用的なアプローチでこれを解決する方法がなければならないと思いました...
サービスは「停止」や「OK」などのステータスを返しますか?はいの場合、ステータスを確認するスクリプトを作成し、応答が「停止」した場合にシステムをシャットダウンします。定期的なチェックにはルートcrontabを使用してください。
—
レニー
私はあなたの提案でcrontabジョブが正確に行うサービスを既に持っていることを言及するのを忘れました... systemd自体で行うことが可能であると思いました。systemdドキュメントを読む必要があります
—
...-DejanLekic
サービスが直接制御されている場合は、サービス自体の内部からシャットダウンを開始することもできます。
—
レニー
正しい方向を教えてください(@ systemd documentation)?私はそれを行う方法を見つけることができません
—
...-DejanLekic
申し訳ありませんが、サービスを自分で作成した場合は、サービスへの正常終了時にシャットダウンをプログラムできます。編集:多分これを見てください:manpages.ubuntu.com/manpages/xenial/en/man8/…–
—
レニー