내 시스템 서비스가 충돌할 때 bash 스크립트를 어떻게 실행합니까?

내 시스템 서비스가 충돌할 때 bash 스크립트를 어떻게 실행합니까?

나는 systemd 서비스를 사용하고 있습니다. 내 systemd 서비스가 실패할 때 bash 스크립트를 실행하고 싶습니다. 서비스를 직접 다시 시작할 때 bash 스크립트를 실행하고 싶지 않습니다. 그러나 해당 프로세스 또는 관리하는 프로세스가 자체적으로 충돌하는 경우에만 해당됩니다.

어떻게 해야 하나요? 을 사용해야 합니까 OnFailure? 또는 ExecStopPost?

ExecStart내 시스템 서비스 에는ExecStop

답변1

내가 찾을 수 있는 것 중에서https://bbs.archlinux.org/viewtopic.php?id=169344, 사용이 OnFailure=충분할 것입니다. 종료 코드가 0이 아닌 경우 서비스가 실행됩니다. 그럼에도 불구하고 systemd.service 맨페이지에서는 이에 대한 언급을 찾을 수 없습니다.

관련 정보