Linux命令每隔一段时间运行脚本

时间:2011-07-05 13:54:25

标签: linux bash shell command

我有这个命令,我从ubuntu的终端

运行
python2.5 /home/me/web/gae/google_appengine/dev_appserver.py /home/me/web/gae/APPLICATION/trunk

我需要停止此运行,然后每10秒重新启动一次 - 如果需要,我可以从.sh文件运行它。

最好的方法是什么?如果可能的话,我希望所有人都在一个脚本中,所以热衷于使用cron作业来运行它 - 当然有一些方法可以在shell脚本中完成一个带延迟的循环?

我能想到的最接近的等价物是JavaScript的setInterval(function(),10000);

3 个答案:

答案 0 :(得分:16)

您可以尝试这样的事情:

while true; do
  python2.5 /home/me/web/gae/google_appengine/dev_appserver.py /home/me/web/gae/APPLICATION/trunk &
  sleep 10
  kill $!
done

I.e。:永远循环(while true),在后台启动python脚本,等待10秒(sleep 10)并终止后台进程(kill $!)。

答案 1 :(得分:2)

我喜欢〜$ watch -n sec命令

watch -n 10 ls /home/user/specialdata

watch -n 30 csync /dir/A /remote/dir/B

答案 2 :(得分:1)

如果您不喜欢sleep

,则有atcron
echo "print after 3min again"
sleep 180  # or sleep +3m
echo "hello again, 3min passed"

阅读手册页,稍微玩一下,我认为围绕那些构建你想要的东西很容易。