問題是這樣的,有個(gè)腳本需要10秒鐘執(zhí)行一次,腳本具體功能就不細(xì)說,定時(shí)任務(wù)自然選用crontab,但是crontab最小的執(zhí)行時(shí)間為分鐘,最后決定選用死循環(huán)進(jìn)行實(shí)現(xiàn)。
腳本
vi hello.sh
#!/bin/sh
while :
do
echo `date` >> /home/chenyz/1 //這里是任務(wù)的實(shí)現(xiàn)
sleep 10
done
#!/bin/sh
while :
do
echo `date` >> /home/chenyz/1 //這里是任務(wù)的實(shí)現(xiàn)
sleep 10
done
這里的程序運(yùn)行時(shí)間間隔是10s,小心咯,如果沒有加sleep 10,你的機(jī)器很快就會(huì)耗盡資源,負(fù)載會(huì)狂飆。
接著需要把腳本用后臺(tái)守護(hù)進(jìn)程來運(yùn)行,避免用戶退出而導(dǎo)致腳本失效
nohup sh hello.sh &
btw,nohup就是no hang up(不掛起)
最后檢查一下執(zhí)行用戶退出后相應(yīng)的進(jìn)程是否繼續(xù)在運(yùn)行
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

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

如果有更好的辦法和想法,虛心請(qǐng)教,歡迎討論