systemd: 분기된 프로세스가 즉시 execStop을 호출합니다.

systemd: 분기된 프로세스가 즉시 execStop을 호출합니다.

우리 컴퓨터에서 실행되기를 원하므로 이를 베어본으로 설정했습니다.

[Unit]
Description=My Daemon

[Service]
Type=forking
ExecStart=/opt/myscript/daemonWrapper start
# ExecStop=/opt/myscript/daemonWrapper stop

[Install]
WantedBy=multi-user.target

내 문제는 ExecStop을 주석 처리하는 한 정상적으로 실행된다는 것입니다. 주석 처리를 제거하고 데몬을 시작하면 서비스가 즉시 ExecStop을 호출하고 실행을 중지합니다. 우리가 실행 중인 도구는 깔끔하게 종료하기 위한 중지 명령을 제공하므로 ExecStop이 있으면 좋을 것입니다. 우리에게는 꼭 필요한 것은 아니지만 모든 것을 깨끗하게 유지하고 싶습니다.

기본적으로 백그라운드에서 실행되는 스크립트를 시작하기 전에 필요한 환경 변수를 설정하는 래퍼 스크립트이기 때문에 이것이 분기 프로세스로 올바르게 설정되었다고 생각합니다. 대부분의 사람들이 데몬을 시작/중지하기 위해 다른 스크립트를 사용한다는 것을 알았으므로 이 경우에 이렇게 하면 뭔가 이상한 일이 일어날지 궁금했습니다. 나는 "daemonWrapper" 스크립트(가짜 이름임)를 직접 테스트했으며 이 스크립트는 시작/상태/중지에 필요한 모든 작업을 수행합니다.

내가 무엇을 놓치고 있나요?

관련 정보