두 개의 서비스 A와 B가 지속적으로 실행되고 있으며 systemd
서비스 단위를 사용합니다. 서비스 C가 실행되어야 하는 특정 시간에 타이머와 동일한 이름의 서비스를 사용하여 이를 수행할 수 있습니다. C는 빨리 끝났다. C가 실행되면 A와 B가 실행되어서는 안 됩니다. 이를 보장하기 위해 Conflicts=
이 웹 페이지에 설명된 C의 서비스 파일에서 이 옵션을 사용했습니다 .시스템 문서. 하지만 이 옵션은 A와 B만 중지할 수 있습니다. C가 끝나면 어떻게 A와 B를 다시 시작할 수 있나요? 이 작업을 수행할 수 있습니까 systemd
?
참고: 전화하는 systemctl start A.service
것은 systemctl start B.service
제가 찾고 있는 해결책이 아닙니다.
답변1
나는 다음을 사용하는 것이 좋습니다:
실행이 중지된 후=/usr/bin/systemctl start A.service B.service
서비스가 중지된 후 실행할 추가 명령
런타임 서비스가 여전히 시작된 것으로 간주되어 충돌이 계속 적용되므로 사용 ExecStopPost
하지 않는 것이 ExecStop
중요합니다 .ExecStop