问题是这样的,有个脚本需要10秒钟执行一次,脚本具体功能就不细说,定时任务自然选用crontab,但是crontab最小的执行时间为分钟,最后决定选用死循环进行实现。
脚本
vi hello.sh
#!/bin/sh
while :
do
echo `date` >> /home/chenyz/1 //这里是任务的实现
sleep 10
done
这里的程序运行时间间隔是10s,小心咯,如果没有加sleep 10,你的机器很快就会耗尽资源,负载会狂飙。
接着需要把脚本用后台守护进程来运行,避免用户退出而导致脚本失效
nohup sh hello.sh &
btw,nohup就是no hang up(不挂起)
最后检查一下执行用户退出后相应的进程是否继续在运行
root@tech163:/home/chenyz# ps -aux | grep hello
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
root 17275 0.0 0.1 1840 544 pts/1 S 17:33 0:00 /bin/sh ./hello.sh
root@tech163:/home/chenyz# vi 1
Wed Jan 19 17:09:02 CST 2011
Wed Jan 19 17:09:12 CST 2011
Wed Jan 19 17:09:22 CST 2011
Wed Jan 19 17:09:32 CST 2011
Wed Jan 19 17:09:42 CST 2011
Wed Jan 19 17:09:52 CST 2011
如果有更好的办法和想法,虚心请教,欢迎讨论