Files
即使目標文件未更改,系統路徑單元也會在啟動時觸發
我正在嘗試使用 systemd 路徑 + 服務在文件更改時觸發 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 單元在啟動時觸發,無論如何。這裡發生了什麼?
該路徑不應
monitor.service
在啟動時觸發,但在啟動時monitor.service
啟用自身是一個常見錯誤。如果
monitor.service
包含通常:[Install] WantedBy=multi-user.target
然後
monitor.service
將在啟動時啟動,或者只要它被您的*.path
.解決方案1:
如果這是第 3 方服務,則禁用該服務。這將阻止它在啟動時啟動,但不會阻止它被您觸發
*.path
:sudo systemctl disable monitor.service
解決方案2:
如果您
monitor.service
自己編寫,則只需[Install]
從monitor.service
.