시간이 오래 걸리는 스크립트에 systemd 서비스 단위 옵션 Type=oneshot이 적합합니까?

시간이 오래 걸리는 스크립트에 systemd 서비스 단위 옵션 Type=oneshot이 적합합니까?

Type완료하는 데 시간이 걸리는 스크립트를 실행하는 서비스에는 어느 것이 더 좋은지 궁금합니다 . 장치는 장치에 의해 트리거됩니다 systemd.path.

물론 원샷이라고 말하고 싶지만 100% 확신할 수는 없습니다.

답변1

예.

스크립트는 얼마든지 실행될 수 있습니다. 일반적인 서비스 시작 시간 제한(90초)이 활성화되어 있지 않기 때문입니다 Type=oneshot. 그러나 Type=oneshot서비스에 대한 시간 초과를 강제로 적용하려는 경우 간단히 수동으로 설정할 수 있습니다.

시간 초과 시작 초 =

시작을 기다리는 시간을 구성합니다. 데몬 서비스가 구성된 시간 내에 시작 완료 신호를 보내지 않으면 서비스가 실패한 것으로 간주되어 다시 종료됩니다. 단위 없는 초 단위 값 또는 "5min 20s"와 같은 시간 범위 값을 사용합니다. 시간 초과 논리를 비활성화하려면 "무한대"를 전달합니다. Type=oneshot을 사용하지 않는 한 관리자 구성 파일에서 기본값은 DefaultTimeoutStartSec=입니다. 이 경우 시간 초과는 기본적으로 비활성화됩니다.

--남자 systemd.service

사용하지 않는 또 다른 이유 Type=simple는 실행 시 서비스 상태가 "시작됨"으로 표시된다는 것입니다. Type=oneshot"시작 중" 상태가 표시됩니다. 완벽하지는 않을 수도 있지만 더 의미가 있다고 생각합니다.

관련 정보