재귀 스크립트를 시스템 단위로 실행합니다.

재귀 스크립트를 시스템 단위로 실행합니다.

시작 시 스크립트를 실행하고 싶습니다. 스크립트는 재귀적이며 자신을 호출합니다.
systemd 장치를 추가하면 실행 중이지만 DefaultTimeoutStartSec.

아래는 제가 만든 서비스 파일입니다

    [Unit]
    Description = My Desc
    After = network.target

    [Service]
    Type = forking
    ExecStart = /root/my_recursive_script.sh

    [Install]
    WantedBy = multi-user.target

infinity 를 추가하면 이 서비스를 작동시킬 수 있다는 것을 알고 있지만 TimeoutSec이것이 해결 방법이 될 것입니다. 내가 서비스를 실행할 때

    systemctl start myservice.service 

시간이 초과될 때까지 커서를 떠나지 않습니다.

  1. 시스템 단위가 재귀 스크립트와 함께 작동하도록 하는 올바른 방법은 무엇입니까?
  2. 데몬처럼 실행 가능하게 만들려면 스크립트를 변경해야 합니까?

답변1

문제는 서비스 유형을 forking. Systemd는 ExecStart계속하기 전에 백그라운드로 포크하기를 기다리고 있습니다 . 유형을 simple.see 로 변경해야 합니다 .수동

관련 정보