2014-10-08 110 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