既存のシステムサービスがあるとしましょう。
# /usr/lib/systemd/system/whatever.service
[Service]
ExecStart=/usr/bin/java -Dfoo=bar -Dbaz=qux -Xmeh=whatever -jar /path/to/whatever.jar arg1 arg2 ...
...プラグインを使用して実行中のラッパーに入れたいです。まったく同じコマンドが、最初にロックを獲得した場合にのみ該当します。私がよく知っている方法は、既存のアイテムを消去してExecStart
次のことを繰り返すことです。
# /etc/systemd/system/whatever.service.d/needs-lock.conf
[Service]
ExecStart=
ExecStart=/usr/bin/with-lock lock-id /usr/bin/java -Dfoo=bar -Dbaz=qux -Xmeh=whatever -jar /path/to/whatever.jar arg1 arg2 ...
残念なことです。/usr/bin/with-lock lock-id
本当に既存のサービスに追加したいです。、needs-lock.conf
アップストリーム定義が変更されるたびにwhatever.service
私を変更する必要はありません。
これを達成するための合理的な方法はありますか?