Команды Linux для запуска скрипта с интервалом

у меня есть эта команда, которую я запускаю с терминала в ubuntu

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

мне нужно остановить этот запуск, а затем перезапустить его каждые 10 секунд - я могу запустить это из a .SH файл при необходимости.

что было бы лучшим способом сделать это? Я бы хотел, чтобы все это было в одном скрипте, если это возможно так не что увлечен использованием заданий cron для его запуска-конечно, есть какой-то способ сделать цикл с задержкой чисто в сценарии оболочки?

ближайший аналог Я могу думать о том, что JavaScript setInterval(function(),10000);

3 ответов


вы можете попробовать что-то вроде этого:

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

то есть: Петля навсегда (while true), запустите скрипт python в фоновом режиме, подождите 10 секунд (sleep 10) и убить фоновый процесс (kill $!).


Мне нравится ~$ watch-n sec command

Я.Е.

watch -n 10 ls /home/user/specialdata

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

здесь sleep и at если вам не нравится cron

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

прочитайте man-страницы, поиграйте с ними немного, и я думаю, что было бы легко построить то, что вы хотите, вокруг них.