カスタムシステムサービスの注文

カスタムシステムサービスの注文

複数のカスタムシステムサービスを作成するときに、そのサービスがどの順序で実行されているかをどうやって知ることができますか?このコマンドは必ず行われますか?

私が何をしているのかタイプ=アイドルこれは意味する必要があります

アイドル動作は単純動作と非常によく似ていますが、すべてのアクティブタスクがスケジュールされるまで、サービスプログラムの実際の実行が遅れます。これは、シェルサービスの出力がコンソールのステータス出力とインターリーブされるのを防ぐために使用できます。このタイプはコンソール出力を改善するためだけに使用され、一般的なデバイスソートツールとしては役に立ちません。このサービスタイプの効果は、とにかくサービスルーチンが呼び出された後の5秒のタイムアウトの影響を受けます。

以下は私です。/etc/systemd/system/myservice1.service

#!/bin/bash

[Unit]
Description=my service
After=default.target

[Service]
Type=idle
ExecStart=/root/my_service1.sh
TimeoutStartSec=0

[Install]
WantedBy=default.target

だから私はやる

{ create /root/my_service.sh }

chmod 700 /root/my_service1.sh

systemctl daemon-reload

systemctl enable my_service1

アイドルタイプのサービスをたくさん作成する場合、これらのサービスがどの順序で実行されているかをどうやって知ることができますか?システムが完全に起動し、すべての起動関連タスクが完了した後にのみ、このようなことが発生したいと思います。

その後、いくつかのカスタムタスクを実行する予定ですdo_this.servicedo_that.serviceまだすべての名前をどのようにするかを決定できませんでした。

ベストアンサー1

[サービス]セクションに含まれているプロパティをBefore使用すると、異なるサービス間で順序を指定できます。After[Unit]システムサービスと「基本」ターゲットだけでなく、サービス(例:ここより多くの情報を知りたい場合)。

だから欲しいならmyservice1.service前に始めるmyservice2.service、追加すれば十分

Before=myservice2.service

あなたのサービス定義ファイルにそして合理的に

After=myservice1.service

それにmyservice2.service

おすすめ記事