我是linux系統的新手,我試圖讓PHP腳本無限次運行。請注意,我正在使用Debian 7
。如何在無限次的shell腳本中運行php文件
所以,我用screen
打開一個窗口,到目前爲止,我已經worker.php
文件已經成功運行,我需要使shell腳本無限次地運行php腳本。
所以我想出了這一點:
#!/bin/sh
for ((; ;))
do
/usr/bin/php worker.php
sleep 1
done
的問題是,當試圖在screen
運行./worker.sh
,我得到這個錯誤:
bash: ./worker.sh: /bin/sh^M: bad interpreter: No such file or directory
所以我剝奪的for
,並用一個簡單的echo
代替它,結果導致相同的錯誤,所以我寫了這個問題,因爲我不知道什麼是錯的,服務器上都存在sh
或bash
,我是想知道是否shebang
是錯誤的,但是..我有automysqlbackup
腳本,它以相同的shebang
開頭。
你知道什麼是錯的嗎?我只是一個新手..不是很瞭解。 如果你想知道我爲什麼每秒都在運行一個文件,那是因爲這個文件充當遊戲中隊列的命令處理器。每分鐘用cron運行它都太慢了。 MySQL觸發器不適合我的需求,所以我不得不這樣做。
問候。
你可能在你的shebang的末尾有一個'^ M'回車字符,因爲它說'/ bin/sh^M'沒有存在。例如您在Windows機器上構建了腳本文件,並在Unix-ish框中執行它。 –