![동일한 순서로 시스템 장치를 시작하고 중지합니다.](https://linux55.com/image/195548/%EB%8F%99%EC%9D%BC%ED%95%9C%20%EC%88%9C%EC%84%9C%EB%A1%9C%20%EC%8B%9C%EC%8A%A4%ED%85%9C%20%EC%9E%A5%EC%B9%98%EB%A5%BC%20%EC%8B%9C%EC%9E%91%ED%95%98%EA%B3%A0%20%EC%A4%91%EC%A7%80%ED%95%A9%EB%8B%88%EB%8B%A4..png)
systemd에서는 어떻게 해야 하나요?
start unit.A
started unit.A
start unit.B
started unit.B
stop unit.A
stopped unit.A
stop unit.B
stopped unit.B
After=/Before=
시작/중지 시 장치가 AB -> BA와 같이 역순으로 정렬된다는 것을 알고 있지만 AB -> AB가 필요합니다.
내 생각엔 다음과 같은 것과 unit.A
병합 해야 할 것 같습니다 .unit.B
Unit.A.서비스:
ExecStartPost=unit.A
그리고 중지 명령을 처리합니다 ExecStopPost=
.
편집하다:
의 조합처럼 보였으며 내가 원하는 것을 제공 Upholds=
할 수도 있습니다 PropagatesStopTo=
. 또는 매우 유사했지만 에 추가된 것으로 밝혀졌지만 / 에서 실행되도록 systemd version 249
해야 했습니다 .241
247
나는 여전히 학문에 관심이 있습니다. 접근할 수 있다면 Upholds=
이것이 PropagatesStopTo=
올바른 선택입니까 systemd 249
?
답변1
나는 이것으로 끝났습니다 :
thisunit_ExecStartPost.sh:
systemctl start otherunit
이 유닛_ExecStop.sh:
systemctl stop otherunit
내 경우에는 실패 otherunit
하면 알리고, 그렇지 않으면 중지를 로 이동해야 할 수도 있습니다 . 일반적으로 더 나은 위치입니다(그러나 내 프로젝트에서는 아님).thisunit
otherunit
thisunit_ExecStopPost.sh