私のデジタルフォトフレームにはcrontab -u pi -e
2 つのプロセスがあります。
最初の人が電話する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 などを追跡する必要はありません。 は、指定された名前のプロセスを検索して kill するために使用されます。とをpkill
読むことをお勧めします。manpage
pkill
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
。