ターゲットが要件を満たしていることをsystemdにどのように通知できますか?

ターゲットが要件を満たしていることをsystemdにどのように通知できますか?

systemdインスタンスリストのインスタンスが特定の要件を満たしているかどうかを確認するには?

名前付きターゲットmain_target.targetと名前付きサービステンプレートがあるとします[email protected]。通常の動作中に[email protected]存在する唯一のインスタンスは次のとおりです。

  • serv@ex1
  • serv@ex2
  • serv@ex3

ただ一つこれらのケースは、与えられた時間に存在する限り、私は言いますmain_target.targetどのそのような場合は3つあります。

直感的にSMFタグに似たものが欲しいrequire_anyが、どの文書にも似たようなものが見つかりませんsystemd

serv@ex1注1:、およびディレクティブを相互に排他的に作成できることを知ってserv@ex2います。serv@ex3Conflicts=

Before=注2:また、およびディレクティブを使用してAfter=3つのインスタンスを階層化して特定の順序で起動できることを知っています。

答え1

前述のように、サービスとConflicts=ディレクティブを相互に排他的に作成できます。ターゲットはsystemdユニットをグループ化する方法に過ぎず、複雑な依存関係オプションはありません。

systemd.target

名前が ".target"で終わるデバイス構成ファイルは、システムターゲットデバイスに関する情報をエンコードし、起動時にデバイスとよく知られている同期ポイントをグループ化するために使用されます。

このデバイスタイプには特定のオプションはありません。すべてのデバイス構成ファイルに共通のオプションについては、systemd.unit(5)を参照してください。共通構成項目は、共通 [Unit] および [Install] セクションで構成されます。ターゲット固有のオプションを設定できないため、別の[Target]セクションはありません。

システム装置参考用。

に含まれているディレクティブのみが使用でき、複数のsystemd.unitサービスのうち1つだけを開始する方法は含まれていません。

関連情報