在crontab -u pi -e
我的數位相框中,我有兩個過程。
第一個叫feh
重新啟動並開始幻燈片放映。
@reboot bash /home/pi/ledslide1.sh >> /home/pi/logs/slidelog 2&>1
然後其他實例應該在特定時間啟動。
15 8 * * * bash /home/pi/ledslide2.sh >> /home/pi/logs/slidelog 2&>1
15 9 * * * bash /home/pi/ledslide3.sh >> /home/pi/logs/slidelog 2&>1
...
但feh
幻燈片正在重複播放。這樣我就必須先終止該進程,對嗎?timeout
不起作用,因為我不知道什麼時候重新啟動?
答案1
在ledslide.sh腳本中,只需使用pkill -9 feh
kill即可feh
。無需追蹤 PID 或任何其他內容。pkill
用於搜尋並終止具有給定名稱的進程。我建議閱讀manpage
forpkill
和pgrep
.
答案2
到目前為止,這對我有用:
@reboot bash /home/pi/ledslide1.sh >> /home/pi/logs/slidelog 2&>1
15 8 * * * pkill -9 feh && bash /home/pi/ledslide2.sh >> /home/pi/logs/slidelog 2&>1
.sh 檔案呼叫feh
並將其置於後台。pkill -9 [KEYWORD]
關閉該feh
進程。