我的目标是每天(除了星期五和星期六)在10:00运行我的python脚本,并在18:00结束它。
我在crontab中添加了以下内容,但第二个命令不起作用。
0 10 * * 0,1,2,3,4 /home/pi/MotionDetector.py
0 18 * * 0,1,2,3,4 /home/pi/MotionDetector.py killall -9 MotionDetector.py
使用Linux 2.7.9
我尝试了通过终端工作的this解决方案,但不能在cron中工作(当我在终端中输入命令时,它会立即关闭脚本,但当我将它放到crontab上时,它什么也不做)
发布于 2018-07-22 05:34:53
为了杀死这份工作:
0 18 * * 0,1,2,3,4 /usr/bin/pkill -f MotionDetector.py
pkill
按名称终止进程。虽然默认的搜索条件是按进程的全名查找进程,但-f
参数允许您按进程名称中的任何部分进行搜索。
针对 提出的方案的更新解决方案
当脚本由cron或用户执行时,进程名称的格式为:
cron:/home/pi/venv/bin/python /home/pi/MotionDetector.py
用户:python MotionDetectory.py
使用简单的正则表达式模式,我们可以终止启动的进程,
0 18 * * 0,1,2,3,4 /usr/bin/pkill -f 'python.*MotionDetector.py'
0 18 * * 0,1,2,3,4 /usr/bin/pkill -f ^'/home/pi/venv/bin/python /home/pi/MotionDetector.py'
https://stackoverflow.com/questions/51459874
复制相似问题