부팅 시 실행되는 표준 시스템 서비스(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 서비스를 구성하는 방법에 대한 아이디어가 있습니까?