linux-crontab作业的结束时间

我将在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.在您的情况下,您似乎想忽略它,例如.就像上面的例子一样.

上一篇:分析SAN LUN Mapping出错导致文件系统共享冲突的情况


下一篇:如何获得使用Java的Linux和Solaris上所有正在运行的进程的列表?