동일한 순서로 시스템 장치를 시작하고 중지합니다.

동일한 순서로 시스템 장치를 시작하고 중지합니다.

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해야 했습니다 .241247

나는 여전히 학문에 관심이 있습니다. 접근할 수 있다면 Upholds=이것이 PropagatesStopTo=올바른 선택입니까 systemd 249?

답변1

나는 이것으로 끝났습니다 :

thisunit_ExecStartPost.sh:

systemctl start otherunit

이 유닛_ExecStop.sh:

systemctl stop otherunit

내 경우에는 실패 otherunit하면 알리고, 그렇지 않으면 중지를 로 이동해야 할 수도 있습니다 . 일반적으로 더 나은 위치입니다(그러나 내 프로젝트에서는 아님).thisunitotherunitthisunit_ExecStopPost.sh

관련 정보