假设我有一个现有的 systemd 服务:
# /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
定义更改时都修改我的。
有什么合理的方法可以实现这一点吗?