我用一隻蝙蝠運行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
我用一隻蝙蝠運行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
我想你想會是這個樣子的:
#! /bin/sh
while true
do
python worker.py -st 10 &
sleep 1800
kill $!
done
神奇的是,$!
是最後轉到後臺進程的PID。
歡迎來到shell編程。警告一句話:當你瞭解它時,你會逐漸理解Windows命令行中缺少的東西。無知是幸福。 :-)
你試過了watch命令嗎?
watch -n x python yourscript.Py
你可以在一個SH文件包括這或只是從終端
運行它來設置時間只需要使用這個
watch -n 1800 Python yourscript.py
這應該運行Python腳本每x秒,但是如果你重新啓動一個python腳本時,它被隨機關閉,這是一個不同的問題。
不是答案,但不要使用'> null',因爲這會創建一個名爲'null'的文件;重定向到空設備使用'> nul' ... – aschipfl
請參閱* man cron *。 –
因此,您向我們展示了一個Windows批處理腳本,並且您想知道如何使用'sh'完成相應的操作?你可能會更清楚一點。 –