A documentação que você está usando não corresponde à versão do systemd que você está usando. O modificador "+" foi introduzido na versão 231.
De acordo com a documentação , um +
pode ser usado como um prefixo em systemd
service configuration.
Estou tentando usá-lo assim:
[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
Eu quero executar /usr/bin/tomcat1
com privilégios elevados, mas isso com o sinal "+" dá o seguinte erro (note que "-" não apresenta um erro).
"systemd1: [/usr/lib/systemd/system/tomcat1.service:10] Executable path is not absolute, ignoring: +/usr/bin/tomcat1"
Eu também tentei ExecStartPre="+/usr/bin/tomcat1
, ExecStartPre="+"/usr/bin/tomcat1
, etc.
Eu sei que posso usar PermissionsStartOnly = true como uma alternativa, o que deve funcionar, mas isso parecia menos do que uma ideia.
Até agora, parece que a documentação que eu estava usando como referência pode estar imprecisa ou desatualizada (talvez o suporte para +,!, etc tenha sido removido). A execução do lado do servidor systemd.service parece mencionar apenas "-". Seria ótimo se alguém pudesse confirmar isso, no entanto.