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
答
我想你想会是这个样子的:
#! /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'完成相应的操作?你可能会更清楚一点。 –