%EA%B0%80%20%EB%8B%A4%EC%8B%9C%20%EC%8B%9C%EC%9E%91%EB%90%98%EB%A9%B4%20systemd%20%EC%84%9C%EB%B9%84%EC%8A%A4(B)%EB%A5%BC%20%EB%8B%A4%EC%8B%9C%20%EC%8B%9C%EC%9E%91%ED%95%A9%EB%8B%88%EB%8B%A4.%20%EB%8B%A8%2C%20%EC%84%9C%EB%B9%84%EC%8A%A4(B)%EA%B0%80%20%EC%9D%B4%EB%AF%B8%20%EC%8B%9C%EC%9E%91%EB%90%9C%20%EA%B2%BD%EC%9A%B0%EC%97%90%EB%A7%8C%20%ED%95%B4%EB%8B%B9%EB%90%A9%EB%8B%88%EB%8B%A4..png)
부팅 시 실행되는 표준 시스템 서비스(A = gpsd.service)가 있습니다.
기본적으로 활성화되지 않은 사용자 지정 systemd 서비스(B = my_gps_logger.service)가 있으므로 사용자가 진단을 위해 수동으로 시작해야 합니다. 로거 서비스는 bash 스크립트입니다.gpscat /dev/ttyPS1 > my_log.log
gpsd를 다시 시작하면 내 로거 서비스에 장치가 열려 있기 때문에 실패합니다.
BindsTo=gpsd.service
로거 서비스를 사용하여 이 문제를 해결했습니다.
이제 gpsd를 다시 시작하면 로거 서비스가 중지되고 gpsd가 정상적으로 다시 시작됩니다.
그러나 로거 서비스는 다시 시작되지 않습니다!
PartOf=
그게 답인지 는 모르겠습니다 . 느낌이 좋지 않습니다(테스트 결과 로거가 다시 시작되지 않은 것으로 나타났습니다).
하지만 gpsd가 시작될 때 로거 서비스를 다시 시작하고 싶지 않습니다. 로거 서비스가 실행 중이고 gpsd 재시작으로 인해 중지/재시작된 경우에만 해당됩니다. 로거 서비스가 실행되고 있지 않으면 자동으로 시작되는 것을 원하지 않습니다.
이를 달성하기 위해 systemd 서비스를 구성하는 방법에 대한 아이디어가 있습니까?