我有以下腳本確保每3秒調用一次.php文件。如何在特定時間停止執行.sh腳本?
#!/bin/bash
for ((i=0; i<43200; i++))
do
/usr/bin/php /var/www/vhosts/mydomain.com/httpdocs/somefile.php
sleep 3
done
我希望能夠停止腳本excecution如果時間是23點58分59秒
任何人都可以幫我嗎?
感謝,卓然
我有以下腳本確保每3秒調用一次.php文件。如何在特定時間停止執行.sh腳本?
#!/bin/bash
for ((i=0; i<43200; i++))
do
/usr/bin/php /var/www/vhosts/mydomain.com/httpdocs/somefile.php
sleep 3
done
我希望能夠停止腳本excecution如果時間是23點58分59秒
任何人都可以幫我嗎?
感謝,卓然
我覺得這是不使用腳本語言如Python和Perl沒有直接的方法。
這裏如果喲想已經有實現TE perl腳本:
http://www.cyberciti.biz/faq/shell-scripting-run-command-under-alarmclock/
利用率摘要:
創建一個文件installTimeout.sh包含以下內容:
wget http://pilcrow.madison.wi.us/sw/doalarm-0.1.7.tgz
tar -zxvf doalarm-0.1.7.tg
cd doalarm-0.1.7
make
並運行命令:
source installTimeout.sh
現在它對您來說是透明的。 當你想給一個超時腳本喲只需要運行:
doalarm 20 your script
最佳, 科技教育
case `date +%H%M` in 2359) break ;; esac
編輯:我發現了零填充的日期格式的字符串是不便攜式,所以我把它拿出來了。無論如何,這在這種情況下沒有用或不必要。
嗨tripleee。很少有問題......關閉了,但沒有打開,爲什麼兩個;;和esac是什麼意思? – Zoran
閱讀shell編程的基本介紹,找到'case'關鍵字。是的,如果你是新手,這個語法可能看起來有點陌生。 – tripleee
嗨我現在有以下腳本,它不會停止執行... [code]#!/ bin/bashcase'date +%0H%0M'in 1044)break ;; ESAC 爲((I = 0;我<43200;我++)) 做 的/ usr/bin中/ PHP的/var/www/vhosts/http://www.mysite.com/httpdocs/myfile.php 睡眠3 完成[代碼]和腳本似乎不會停止...繼續調用php文件。我做錯了什麼?任何幫助? – Zoran
再次問我。
,因爲你的腳本有沒有開關輸入youmcan嘗試推出侑腳本方式如下:
./yourscript.sh & sleep 10 && kill %1 && fg
試試看。
Se
感謝Ste,但所有代碼看起來都像希臘語。我不知道要實現我的目標。 – Zoran
好的...我試着做一個總結,至少你可能會使用它。 – Stefano
他希望你安裝一個單獨的工具,在特定的時間段之後會殺死你的腳本。這是不必要的;你可以運行'cron'作業來在指定的時間殺死另一個腳本,但這是一種暴力方式。另外,如果你不知道你什麼時候開始寫劇本,你怎麼知道你應該超時多久?是的,可以計算時間偏移量,但這是失控的。 – tripleee