2014-10-08 151 views
0

我想每隔x秒從shell運行一個腳本而不必等待它完成。例如,假設我想執行一個Python腳本每5秒:每x秒運行一次腳本而不等待它完成

while true; do python myscript.py; sleep 5; done 

這種方法的問題是,它並沒有真正開始的腳本每5秒。它所做的是等待myscript.py完成它所做的任何事情,然後睡5秒,然後再啓動myscript.py。我也嘗試了watch -n5 python myscript.py,它給出了相同的行爲。幫助讚賞。

+1

您需要在後臺運行腳本。試試'python myscript.py&'更好的方法是使用crontab - 你可以讓cron每N秒運行一次腳本。 – linuxfan 2014-10-08 01:21:42

+0

@linuxfan cron允許每分鐘運行一次腳本,但不會比這更頻繁。 – Koba 2014-10-08 01:31:12

+0

而不是每五秒運行一次Python腳本,最好讓Python腳本自行管理並持續運行。你能告訴我們一些關於Python腳本的功能嗎? – 2014-10-08 01:38:56

回答

1
while true 
do 
    python myscript.py & 
    sleep 5 
done