![템플릿 단위 인스턴스의 시스템적 순차적 중지](https://rvso.com/image/789288/%ED%85%9C%ED%94%8C%EB%A6%BF%20%EB%8B%A8%EC%9C%84%20%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4%EC%9D%98%20%EC%8B%9C%EC%8A%A4%ED%85%9C%EC%A0%81%20%EC%88%9C%EC%B0%A8%EC%A0%81%20%EC%A4%91%EC%A7%80.png)
특정 포트에서 실행되는 일부 서비스를 시작/중지하기 위해 생성해야 하는 템플릿 단위가 있습니다. [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
. 이는 target
to stop
와 start
not을 사용할 수 있다는 뜻입니다 restart
. 이는 편리하지 않습니다.
다른 옵션은 무엇입니까? 사용 가능성 notify
?