대상 파일이 변경되지 않은 경우에도 시작 시 시스템 경로 단위가 실행됩니다.

대상 파일이 변경되지 않은 경우에도 시작 시 시스템 경로 단위가 실행됩니다.

파일이 변경될 때 Python 스크립트를 트리거하기 위해 시스템 경로 + 서비스를 사용하려고 합니다.

파일을 변경한 시기와 상관없이 시작 시 스크립트가 실행되는 것을 발견했습니다.

다음은 내 .path 파일의 일부입니다.


PathChanged=/home/pi/network/trigger.txt
Unit=monitor.service

현재 테스트할 때 monitor.service는 타임스탬프가 있는 로그 파일을 작성하는 스크립트를 트리거합니다. 다음은 로그 파일의 일부입니다.

 14:26:40 Friday September 3, 2021 file modified

stat /home/pi/network/trigger.txt를 실행하면,

Access: 2021-07-14 17:07:42.871258883 -0400
Modify: 2021-08-24 16:53:00.879999930 -0400
Change: 2021-08-24 16:53:00.879999930 -0400

분명히 파일은 아직 수정되지 않았지만 어쨌든 시작 시 .path 단위가 실행됩니다. 여기서 무슨 일이 일어나고 있는 걸까요?

답변1

이 경로는 monitor.service부팅 시 트리거되어서는 안 되지만 부팅 시 이 경로를 활성화하는 것은 일반적인 실수입니다 monitor.service.

monitor.service일반적인 내용을 포함하는 경우 :

[Install]
WantedBy=multi-user.target

그러면 monitor.service부팅 시 활성화됩니다.또는그것이 당신에 의해 촉발될 때마다 *.path.

해결 방법 1:

타사 서비스인 경우 서비스를 비활성화하세요. 이렇게 하면 시작 시 활성화되는 것이 방지되지만 사용자에 의해 트리거되는 것도 방지되지는 않습니다 *.path.

sudo systemctl disable monitor.service

해결 방법 2:

monitor.service직접 작성하는 경우 [Install]에서 해당 부분을 제거 하면 됩니다 monitor.service.

관련 정보