![특정 시스템 서비스로 시스템 서비스를 시작/종료하시겠습니까?](https://linux55.com/image/222868/%ED%8A%B9%EC%A0%95%20%EC%8B%9C%EC%8A%A4%ED%85%9C%20%EC%84%9C%EB%B9%84%EC%8A%A4%EB%A1%9C%20%EC%8B%9C%EC%8A%A4%ED%85%9C%20%EC%84%9C%EB%B9%84%EC%8A%A4%EB%A5%BC%20%EC%8B%9C%EC%9E%91%2F%EC%A2%85%EB%A3%8C%ED%95%98%EC%8B%9C%EA%B2%A0%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
나는 시스템을 가지고 있습니다 :
- 서비스1.서비스
- 서비스2.서비스
- 서비스3.서비스
service1.service는 다음과 같습니다.
[Unit]
Wants=service2.service service3.service
After=service2.service service3.service
[Service]
ExecStart=/var/scripts/script.sh
[Install]
WantedBy=multi-user.target
이 service1.service는 해야 할 일을 수행합니다. it brings up services 2 and 3 before ExecStart
이는 제가 필요한 작업의 50%입니다. 나머지 50%는 종료 service2
되거나 종료 되거나 다른 종료 시 service3
종료됩니다 .service1
systemctl stop service1
SIGKILL
이 작업을 어떻게 구성 service2
/ service3
수행해야 합니까?
답변1
보고 있다문서, 여러 가지 옵션을 사용할 수 있는 것 같습니다.
가장 간단한 PropagatesStopTo=
옵션은 아마도 다음과 같습니다.
PropagatesStopTo=
,StopPropagatedFrom=
중지 요청이 전파되어야 하는 하나 이상의 장치에 대한 공백으로 구분된 목록입니다. 장치에 대한 중지 요청을 발행하면 이 두 가지 설정을 사용하여 해당 장치에 연결된 모든 장치에 대한 중지 요청이 자동으로 대기열에 추가됩니다.
service1.service
다음과 같이 설정하면:
[Unit]
Wants=service2.service service3.service
After=service2.service service3.service
PropagatesStopTo=service2.service service3.service
[Service]
Type=exec
ExecStart=...
그러다가 평화를 systemctl start service1
가져왔고 , 동시에 평화도 가져왔습니다 .service2
service3
systemctl stop service1
service2
service3
PartOf
일부 작업을 사용하거나 수행할 수도 있지만 BindsTo
이를 위해서는 종속 서비스( service2
및 service3
)를 변경해야 합니다.