cron中单行上的多个命令

时间:2015-01-28 07:24:36

标签: bash shell cron crontab

基本上,我试图运行这种美:su pi -c "crontab -l | { cat; echo \"0 4 * * * pkill -f awesomeFile.py ; python /home/user/python/awesomeFile.py &\"; } | crontab -"

我想每天凌晨4点重启一个python服务器。 这会正确安装cron作业,但命令无法正确执行。它会扼杀旧的过程,但不会开始新的过程。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

也许cron不知道python在哪里。尝试使用绝对路径运行它。 使用which命令,您可以获得python的位置:

$> which python /usr/bin/python

答案 1 :(得分:0)

我讨厌评论一个死线程,但我只是遇到了这个问题,也许是因为你的pkill返回而没有检查进程是否已经死亡。抓住那个-w标签,它会每秒检查一次以查看kill是否成功,然后返回。对于依赖关闭任何使用其端口的用户的未来用户,请确保在尝试新的进程之前等到prev进程已经死亡。