Systemd - 在 ExecStartPre 中使用“+”前缀

Bro*_*elt 8 systemd

根据systemd 的服务文档, a+可以用作systemd服务配置中的前缀。

我正在尝试像这样使用它:

[Service]
ExecStartPre=+/usr/bin/tomcat1
Type=simple
Environment="NAME=tomcat1"
EnvironmentFile=/etc/sysconfig/tomcat1
ExecStart=/usr/libexec/tomcat/server start
SuccessExitStatus=143
User=tomcat
Group=tomcat
Run Code Online (Sandbox Code Playgroud)

我想以/usr/bin/tomcat1提升的权限运行,但是使用“+”号这样做会产生以下错误(注意,“-”不会产生错误)。

“systemd[1]: [/usr/lib/systemd/system/tomcat1.service:10] 可执行路径不是绝对的,忽略:+/usr/bin/tomcat1”

我也试过ExecStartPre="+/usr/bin/tomcat1ExecStartPre="+"/usr/bin/tomcat1

我知道我可以使用 PermissionsStartOnly=true 作为替代方案,这应该可行,但这似乎不太理想。

Jde*_*eBP 7

您使用的文档与您使用的 systemd 版本不匹配。“+”修饰符是在版本 231 中引入的。