템플릿 단위 인스턴스의 시스템적 순차적 중지

템플릿 단위 인스턴스의 시스템적 순차적 중지

특정 포트에서 실행되는 일부 서비스를 시작/중지하기 위해 생성해야 하는 템플릿 단위가 있습니다. [email protected], 같은 것 [email protected].

[Unit]
After=network.target
PartOf=services.target

[Service]
ExecStart=app run --port %i
ExecStopPost=sleep 5

[Install]
WantedBy=multi-user.target

이 모든 서비스를 한번에 관리할 수 있는 타겟을 만들었습니다.

cat services.target
[Unit]

[email protected] [email protected] 

잘 작동합니다. 모두 동일한 API를 제공하므로 서비스를 중단하기 위해 동시에 하나의 프로세스만 다시 시작하고 싶습니다.

. 한 가지 해결책은 After에서 사용하는 것일 수 있지만 unit template, 이러한 프로세스를 다소간 실행할 수 있기 때문에 유연성이 별로 없습니다. 하나를 제거하면 종속성 체인이 깨질 수 있습니다.... 그래서 제가 찾은 유일한 해결책은 다음과 같습니다. 인스턴스를 하나씩 중지/시작하는 bash 스크립트를 작성합니다 sleep. 이는 targetto stopstartnot을 사용할 수 있다는 뜻입니다 restart. 이는 편리하지 않습니다.

다른 옵션은 무엇입니까? 사용 가능성 notify?

관련 정보