systemd를 사용하여 제어하려는 구식 데몬이 있습니다. 구성 파일이 변경되면 종료하고 다시 시작해야합니다. 즉, 구성 파일을 편집 한 후 systemctl reload MYSERVICE
프로세스를 종료하고 다시 시작해야합니다.
시도 1 : 기본값을 사용해보십시오. 이것은 systemd에게 데몬을 시작하는 방법을 알려주지 만 다시로드하는 방법은 아닙니다.
[Service]
ExecStart=/usr/bin/MYSERVICE
Type=simple
결과적으로 작동하지만 다음 start
과 같은 오류가 발생합니다.restart
reload
# systemctl reload MYSERVICE
Failed to reload MYSERVICE.service: Job type reload is not applicable for unit MYSERVICE.service.
시도 2 : 프로세스를 종료하는 방법을 알려주십시오. 이것은 프로세스를 종료하지만 systemd는 프로세스를 다시 시작하지 않습니다.
[Service]
ExecStart=/usr/bin/MYSERVICE
Type=simple
ExecReload=/bin/kill -HUP $MAINPID
... 뒤에 ...
# systemctl daemon-reload
# systemctl reload MYSERVICE
... 프로세스를 종료하지만 자동으로 다시 시작되지는 않습니다.
시도 3 : ExecReload를 사용하여 프로세스도 다시 시작하십시오. 몇 가지 이유로 실패합니다.
ExecReload=/bin/kill -HUP $MAINPID ; /usr/bin/MYSERVICE
... 내가 얻는 오류 메시지 ... :
# systemctl daemon-reload
# systemctl reload MYSERVICE
Job for MYSERVICE.service failed because the control process exited with error code. See "systemctl status MYSERVICE.service" and "journalctl -xe" for details.
ReloadType = kill_and_restart 또는 그 밖의 운이 없을 것으로 기대합니다.
리로드 할 때 데몬을 죽이고 다시 시작하도록 systemd에 지시하는 방법은 무엇입니까?