![특정 조건이 충족될 때 서비스를 중지/종료하는 /etc/systemd에서 .service 조건부 스크립트를 만드는 방법은 무엇입니까?](https://linux55.com/image/12287/%ED%8A%B9%EC%A0%95%20%EC%A1%B0%EA%B1%B4%EC%9D%B4%20%EC%B6%A9%EC%A1%B1%EB%90%A0%20%EB%95%8C%20%EC%84%9C%EB%B9%84%EC%8A%A4%EB%A5%BC%20%EC%A4%91%EC%A7%80%2F%EC%A2%85%EB%A3%8C%ED%95%98%EB%8A%94%20%2Fetc%2Fsystemd%EC%97%90%EC%84%9C%20.service%20%EC%A1%B0%EA%B1%B4%EB%B6%80%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EB%A7%8C%EB%93%9C%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
아래와 같은 서비스가 있는데 /tmp/killsoc 파일이 존재하는 등 특정 조건이 만족되면 서비스를 중지/종료하는 조건을 어떻게 추가하나요?
[Unit]
Description=Socat tunnel service
[Service]
ExecStart=/usr/bin/socat tcp-l:31120,fork,reuseaddr tcp:127.0.0.1:6443
답변1
어쩌면 다음 조건 중 하나를 사용할 수도 있습니다ConditionPathExists=
ConditionArchitecture=、ConditionVirtualization=、ConditionHost=、
ConditionKernelCommandLine=、ConditionSecurity=、ConditionCapability=、ConditionACPower=、ConditionNeedsUpdate=、ConditionFirstBoot=、ConditionPathExists=、ConditionPathExistsGlob=、ConditionPathIsDirectory=、ConditionPathIsSymbolicLink=、ConditionPathIsMountPoint=、Condition PathIsReadWrite= ConditionDirect oryNotEmpty=, ConditionFileNotEmpty = , ConditionFileIsExecutable=
자세한 내용은 다음을 참조하세요.https://www.freedesktop.org/software/systemd/man/systemd.unit.html