sh运行,关闭并再次运行一次,每30分钟一次

问题描述:

我用一只蝙蝠运行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'完成相应的操作?你可能会更清楚一点。 –

我想你想会是这个样子的:

#! /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脚本时,它被随机关闭,这是一个不同的问题。