标签:cron-task cron crontab kill linux
我想杀死一个进程并删除一个标志,表明该进程正在运行. cron:
00 22 * * 1-5 pkill -f script.sh >log 2>&1 ; rm lock >log 2>&1
当我在终端上运行它时,这完美地工作.但是在crontab中rm没有运行.我能想到的是-f标志后的整行被用作pkill的参数.
为什么会这样呢?
将它们保存为单独的cron条目是可行的.没有-f标志的pkill也正在运行(尽管它不会终止进程,因为我希望在整个命令中搜索模式).
解决方法:
今天遇到这个问题,只想为遇到这个问题的人发布一个工作示例:
pkill -f ^'python3 /Scripts/script.py' > /dev/null 2>&1 ; python3 /Scripts/script.py > /tmp/script.log 2>&1
这将运行pkill并搜索以(regex ^)python3 /Scripts/script.py开头的整个命令(-f).因此,它永远不会杀死自己,因为它不是以该命令开头(以pkill开头).
标签:cron-task,cron,crontab,kill,linux 来源: https://codeday.me/bug/20191119/2035523.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。