Systemd サービスは、他のサービスの環境ファイルを生成します。

Systemd サービスは、他のサービスの環境ファイルを生成します。

私は2つのシステムスクリプト" A"と" B"を書いた。このセクションを使用した後に開始されますBAAfter

A環境ファイルとして使用するファイルを作成しますinput.txtB

私が直面している問題は、初めて起動したときに発生します。

初めて起動するときは存在しませんがinput.txtA起動した後には生成されます。

だからsystemdsがどのように機能するかは、サービスの実際のプログラムが起動する前に必要なファイルを取得しようとすることだと思います。 (おそらくBsystemd型を変更する必要がありますか?)

実際に初めて起動すると、Bサービスの状態に「環境ファイルが見つかりません」というエラーが発生しました。

だから何が起こっているのかと思います。Aサービスが最初に評価され、Binput.txtがまだ存在しないため、B失敗として評価されますが、A実行後にinput.txtファイルは正しく生成されます。

その後、再起動するたびにinput.txt存在し(存在する場合は変更し、ディスクに存在しない場合は作成A)、それを見つけて正しく実行します。AB

私の質問は、このスクリプトが最初の実行時にも機能するようにするにはどうすればよいですか?

ベストアンサー1

おすすめ記事