서비스로 설치하려는 Java 파일이 있습니다. 하지만 오류가 발생합니다. 아래는 내 파일의 내용과 오류입니다. 저는 데비안 8을 사용하고 있습니다.
[Unit]
Description=App1Manager
After=syslog.target
[Service]
ExecStart=/usr/bin/jsvc -user root -cp /usr/share/java/commons-daemon.jar:/usr/local/myapp/bin/Manager.jar -pidfile /var/run/app1manager.pid
Type=forking
[Install]
WantedBy=multi-user.target
다음 상황 중 하나에 대해 다음 오류가 발생합니다.
SYSTEMD_LOG_LEVEL=debug /lib/systemd/system/myapp1
SYSTEMD_LOG_LEVEL=debug /etc/init.d/myapp1
/etc/init.d/myapp1: line 1: [Unit]: command not found
/etc/init.d/myapp1: line 6: [Service]: command not found
/etc/init.d/myapp1: line 7: -user: command not found
/etc/init.d/myapp1: line 10: [Install]: command not found
Aug 12 12:04:39 debian systemd[3903]: Failed at step EXEC spawning /etc/init.d/myapp1: Exec format error
-- Subject: Process /etc/init.d/myapp1 could not be executed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- The process /etc/init.d/myapp1 could not be executed and failed.
--
-- The error number returned while executing this process is 8.
Aug 12 12:04:39 debian systemd[1]: myapp1.service: control process exited, code=exited status=203
Aug 12 12:04:39 debian systemd[1]: Failed to start (null).
-- Subject: Unit myapp1.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit myapp1.service has failed.
--
-- The result is failed.
Aug 12 12:04:39 debian systemd[1]: Unit myapp1.service entered failed state.
답변1
systemd/system
파일 확장자 로 설치하세요 .service
. 실행 비트를 설정할 필요가 없습니다. systemd 형식의 서비스 파일을 설치하지 마십시오 /etc/init.d/
. 이는 이전 SysVinit 스타일 서비스 스크립트에 적용됩니다.
서비스를 시작하려면 systemctl start myapp1
서비스가 systemd로 구현되었는지 SysV로 구현되었는지 확실하지 않을 때 사용하세요 service myapp1 start
.
Install
시작 시 [해당 섹션 제공]을 활성화하려면 를 사용하십시오 systemctl enable myapp1
.