我将在20:00到23:00之间每5分钟运行一次snoop命令,但我不知道如何在最后5分钟(22:55到23:00)处杀死.您能在这方面帮助我吗?
snoop命令:
FILE=vitrin_`date +%Y%m%d%H%M`.cap
kill -9 `pgrep snoop`
snoop -x0 -d e1000g0 -o /export/home/vitrin/$FILE
Crontab:
0,5,10,15,20,25,30,35,40,45,50,55 20,21,22 * * * /export/home/snoop.sh
解决方法:
您不必在下一次cron运行中杀死您的snoop(以及其他一些无关的snoop),而是可以在诸如timeout
from coreutils之类的工具的监督下从头开始运行它.至少在Linux下,您几乎肯定已经拥有了它,除非您的coreutils很老了.
timeout 5m snoop ...
status=$?
[ $status -eq 124 ] && exit 0
exit $status
如果您确实需要SIGKILL超时,请使用–signal选项.
如果正在运行的命令被超时杀死,则退出状态设置为124.在您的情况下,您似乎想忽略它,例如.就像上面的例子一样.