在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
killfeh
即可。无需跟踪 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
进程。