後続のシステムデバイスの起動を防ぐ

後続のシステムデバイスの起動を防ぐ

特定の状況でシステムの再起動をトリガーするシステムデバイスA(タイプ=ワンショット)があります。

Aが完了した後に開始できる「After = A.service」条件がすでに存在する他のシステムデバイスBとC(タイプ=単純)があります。

A が再起動をトリガした場合、B と C の起動は望ましくありません。私の設定では、Aが完了するとBとCが始まり、再起動するとすぐに終了することが観察されました。

再起動を開始し、BとCにConditionPathExists =! / tmp / foo条件を入れる前にAが一時ファイル(/ tmp / foo)を生成しようとしましたが、このソリューションは機能しないようです。ファイルが作成されると起動します。

この動作をどのように取得できますか?

ベストアンサー1

これは実際の解決策ではなくハッキングに近いです。再起動後、Aにスリープモードを設定してみることができます。

sleep 60

システムを再起動してもサービスが実行され続けると、他のサービスは起動しないようにし、再起動時にサービスを停止します。

これはシャットダウンが遅れるかどうかはわかりませんが、眠りにつくのに十分な時間を見つけることができるようです。

おすすめ記事