让Linux下的cron以秒为单位执行shell脚本的3种方法
需要用到Shell脚本每隔3秒钟去监控一个软件进程的运行状态,发现crond似乎只支持到分,不知道秒,怎么办呢?
第一种方法:
当然首先想到的是写一个触发的脚本,在触发脚本中使用死循环来解决此问题,如下:
catkick.sh
#!/bin/bash while:;do /home/somedir/scripts.sh2>/dev/null& sleep3 done
注意第一次运行时请不要使用bashkick.sh&这种后台运行的方式,它会僵死的。
可以把它放到计划任务使其运行,然后将计划任务中的此条目删除即可。最后把这个脚本放到/etc/rc.local让它每次开机都可以被运行。
第二种方法:
和第一种方法类似,只不过感觉比第一种更便捷一些。
#!/bin/bash #Forexcutingthescriptsevery3secondsincrond. #20100124.WXG
for((i=1;i<=20;i++));do
/home/somedir/scripts.sh2>/dev/null& sleep3 done