2011-12-02 19 views
1

我在想如何開始一個我創建的工作,它運行一個循環(這是另一個故事)。啓動一個有循環的Linux作業

腳本是;

while [1];do 
sleep 1 
/usr/bin/php /var/www/mis/sms/sms_daemon.php > /dev/null 2>&1 
done 

當我運行/etc/init.d/sms_daemon start(工作我創建) - 它永遠不會返回到命令提示符下,除非我打ctrl-zctrl-c,其中停止服務......

+2

嗯....那是因爲你設置了一個無限循環。 – 2011-12-02 06:58:18

+0

您創建了一個循環(無限)。那麼,爲什麼你的過程會返回? – Macmade

+1

爲什麼不創建一個腳本來運行它並通過在底部添加'&'在後臺運行它。 – wargodz009

回答

1

,在創建一個功能&運行背景

start_job(){ 
while [1];do 
sleep 1 
/usr/bin/php /var/www/mis/sms/sms_daemon.php > /dev/null 2>&1 
done 
} 

start_job & 

nohup start_job 
+0

它也可能是另一個腳本...(我不知道nohup接受函數) –