특정 상황에서 시스템 재부팅을 트리거하는 시스템 장치 A(유형=원샷)가 있습니다.
A가 완료된 후 시작할 수 있는 "After=A.service" 조건이 이미 있는 다른 시스템 장치 B 및 C(유형=단순)가 있습니다.
A가 다시 시작을 트리거하면 B와 C가 시작되는 것을 원하지 않습니다. 내 설정에서 A가 완료되면 B와 C가 시작되고 다시 시작되면 즉시 종료되는 것을 관찰했습니다.
재부팅을 시작하고 B와 C에 ConditionPathExists=!/tmp/foo 조건을 넣기 전에 A가 임시 파일(/tmp/foo)을 생성하도록 시도했지만 이 솔루션은 작동하지 않는 것 같습니다. 파일이 생성될 때 시작됩니다.
이 동작을 어떻게 얻을 수 있습니까?
답변1
이것은 실제 솔루션이라기보다는 해킹에 가깝습니다. 재부팅 후 A에 절전 모드를 설정해 볼 수 있습니다.
sleep 60
시스템을 재부팅할 때 서비스가 계속 실행되면 다른 서비스는 시작되지 않아야 하며 재부팅 시 서비스가 중지됩니다.
이로 인해 종료가 지연될지는 확실하지 않지만 잠을 잘 수 있는 충분한 시간을 찾을 수 있을 것 같습니다.