다음과 같은 시스템 서비스가 있습니다.
$ sudo 고양이 /etc/systemd/system/my_service123.service
[Unit]
Description=my_service123
After=syslog.target
[Service]
ExecStart=./my_app --config main_cfg.conf
Restart=on-abort
WorkingDirectory=/home/user1/my_service_workspace
SyslogIdentifier=my_service123
User=user1
[Install]
WantedBy=multi-user.target
내가 그것을 실행할 때 :
Failed to start my_service123.service: Unit my_service123.service has a bad unit file setting.
See system logs and 'systemctl status my_service123.service' for details.
하지만
$ sudo journalctl -u my_service123
No journal files were found.
-- No entries --
무슨 문제가 있나요?
$ sudo systemctl status my_service123
● my_service123.service - ton-node_01
Loaded: bad-setting (Reason: Unit my_service123.service has a bad unit file setting.)
Active: inactive (dead)
답변1
보세요 systemctl status my_service123.service
. 출력에는 다음과 같은 내용이 표시됩니다.
Mar 04 14:39:02 hostname systemd[1]: /etc/systemd/system/my_service123.service:5: Neither a valid executable name nor an absolute path: <path>
절대 경로를 사용해 보면 제대로 작동할 것입니다.
답변2
귀하의 장치에는 다음 줄이 포함되어 있습니다.
ExecStart=./my_app --config main_cfg.conf
systemd.service 매뉴얼 페이지에서:
ExecStart=
지정된 각 명령에 대해 첫 번째 인수는 다음과 같아야 합니다.절대 경로실행 파일로 또는슬래시가 없는 간단한 파일 이름.