2016-07-25 205 views
-2

我用一隻蝙蝠運行python腳本,30分鐘後它終止進程並重新打開它。我怎樣才能使它在Fedora linux sh中?我用這個:sh運行,關閉並再次運行一次,每30分鐘一次

title StartWorker 2 
:loop   
start "PYworker2" /i python worker.py -st 10 
timeout /t 1800 >null   
taskkill /fi "WINDOWTITLE EQ PYworker2"   
goto loop 
+1

不是答案,但不要使用'> null',因爲這會創建一個名爲'null'的文件;重定向到空設備使用'> nul' ... – aschipfl

+0

請參閱* man cron *。 –

+0

因此,您向我們展示了一個Windows批處理腳本,並且您想知道如何使用'sh'完成相應的操作?你可能會更清楚一點。 –

回答

0

我想你想會是這個樣子的:

#! /bin/sh 
while true 
do 
    python worker.py -st 10 & 
    sleep 1800 
    kill $! 
done 

神奇的是,$!是最後轉到後臺進程的PID。

歡迎來到shell編程。警告一句話:當你瞭解它時,你會逐漸理解Windows命令行中缺少的東西。無知幸福。 :-)

0

你試過了watch命令嗎?

watch -n x python yourscript.Py

你可以在一個SH文件包括這或只是從終端

運行它來設置時間只需要使用這個

watch -n 1800 Python yourscript.py 

這應該運行Python腳本每x秒,但是如果你重新啓動一個python腳本時,它被隨機關閉,這是一個不同的問題。