~에 따르면시스템 서비스 문서, 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
높은 권한으로 실행 하고 싶지만 /usr/bin/tomcat1
"+" 기호를 사용하여 실행하면 다음 오류가 발생합니다(참고: "-"는 오류를 발생시키지 않습니다).
"systemd[1]: [/usr/lib/systemd/system/tomcat1.service:10] 실행 파일 경로가 절대 경로가 아닙니다. 무시: +/usr/bin/tomcat1"
등등도 해보았습니다 ExecStartPre="+/usr/bin/tomcat1
.ExecStartPre="+"/usr/bin/tomcat1
나는 대안으로 PermissionsStartOnly=true를 사용할 수 있고 그것이 작동할 것이라는 것을 알고 있지만 이것은 이상적이지 않은 것 같습니다.
답변1
사용 중인 문서가 사용 중인 시스템 버전과 일치하지 않습니다. "+" 수정자는 버전 231에서 도입되었습니다.
답변2
참조로 사용하고 있는 문서가 부정확하거나 오래된 것 같습니다(+, ! 등에 대한 지원이 제거될 수 있음). man systemd.service
서버 측을 실행하면 "-"만 언급되는 것 같습니다. 그래도 누군가가 이것을 확인할 수 있다면 좋을 것입니다.