systemdユニットファイルでの=-(等しい-マイナス)のドキュメント


14

私のArchlinuxシステムでは、/usr/lib/systemd/system/mdmonitor.serviceファイルには次の行が含まれてい ます。

[Service]
Environment=  MDADM_MONITOR_ARGS=--scan
EnvironmentFile=-/run/sysconfig/mdadm
ExecStartPre=-/usr/lib/systemd/scripts/mdadm_env.sh
ExecStart=/sbin/mdadm --monitor $MDADM_MONITOR_ARGS

=-指定されたファイルが存在しなくてもサービスが失敗しないことを意味するのではないかと考えています(グーグルで確認されています)。しかし、systemdユニットファイルのマンページでその動作を見つけることができませんでした。=-割り当ての公式ドキュメントはどこにありますか?


1
これは通常の=割り当てであり、2番目のタイプの.INIファイル割り当て構文ではないことに注意してください。
JdeBP 2017年

回答:


19

これは以下に文書化されていsystemd.execます:

EnvironmentFile=

[...]

渡される引数は、絶対的なファイル名またはワイルドカード式である必要があり、オプションで「-」が前に付けられます。これは、ファイルが存在しない場合、読み取られず、エラーまたは警告メッセージが記録されないことを示します。

そしてでsystemd.service

ExecStart=

指定された各コマンドの最初の引数は、実行可能ファイルへの絶対パスでなければなりません。オプションで、このファイル名の前には、いくつかの特殊文字を付けることができます。

表1.特別な実行可能プレフィックス

ExecStartPre=ExecStartPost=

これらのコマンド(接頭辞が付いていない-)のいずれかが失敗した場合、残りは実行されず、ユニットは失敗したと見なされます。

(systemdディレクティブの最も完全なドキュメントを見つけるには、で調べてくださいsystemd.directives。)


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.