2

У меня есть cronjon, который работает каждые 48 часов. Но в идеале я хочу, чтобы он начал работать, как только остановится. Можно ли это сделать? Это скрипт sh, состоящий из команды python. Я использую Linux Mint 13.

Спасибо

1 ответ1

1

Одна вещь, которую вы можете сделать, это запустить команду python в бесконечном цикле, а затем запустить скрипт один раз, используя cron. Таким образом, скрипт будет запускаться снова каждый раз, когда завершится:

#!/bin/bash
while true; do  ## Enter infinite loop
   sleep 5;   ## Wait for 5 seconds
   python -c 'print("hello world")'  ## Run your python command
done 

Если вы сохраните этот скрипт как, например, ~/run_python.sh и сделаете его исполняемым (chmod +x ~/run_python.sh), вы можете настроить его на однократную загрузку при загрузке системы с помощью префикса @reboot . Добавьте эту строку в ваш crontab:

@reboot ~/run_python.sh

Итак, скрипт BASH запустится при загрузке системы и будет ждать 5 секунд, запускать команду python, а затем продолжать делать это до бесконечности.

Лучшим или, по крайней мере, большим количеством * nixy, способов сделать это было бы добавить скрипт в /etc/init.d .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .