Это не дает прямого ответа на вопрос, но на всякий случай все, чего вы хотите достичь, - это запустить код python каждые 10 минут, лучше реализовать его, используя cron.
Я предполагаю, что у вас до сих пор есть сценарий, который каким-то образом начался во время загрузки. Он состоит главным образом из бесконечного цикла, основной процедуры и компонента ожидания-до-следующего-исполнения-времени. Например, как следующее:
""" my_first_daemon.py
does something everytime the datetime minute part is fully divisible by ten
"""
while True:
# do something at 00,10,20,30,40,50 (minutes) every hour
print "Hello World!"
# wait until the next execution time
wait_until_next_ten_minute_time()
Если это действительно так, я хотел бы предложить, чтобы переместить основную часть вашего скрипта в отдельный скрипт. Например, как следующее:
""" my_first_cronjob.py
is run by cron everytime the datetime minute part is fully divisible by ten
"""
# do something at 00,10,20,30,40,50 (minutes) every hour
print "Hello World!"
В общем, вы идете вперед и добавить в кронтаб (используйте команду crontab -e
, чтобы добавить запись в кронтаб этого пользователя, который должен запустить сценарий, а также взглянуть на manpage).Например, как это:
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * command to be executed
# example entry:
# (divide minute-star by 10 to get it run every 10 minutes)
*/10 * * * * python /path/to/my_first_cronjob.py
После редактирования вы должны заметить сообщение, как кронтаба: установка нового кронтаба, а затем вы сделали. Просто подождите и посмотрите, если это сработает.
Некоторые вещи отметить, а также: выход
- В подлинника на стандартный вывод и стандартный поток ошибок отправляются Вам по почте после окончания. Посмотрите на
tail -f /var/mail/moooeeeep
(укажите свое имя пользователя). Вы также можете настроить Thunderbird для получения этих писем, чтобы легче их проверить.
- Соответствие Wikipedia page является хорошим источником информации для более подробной информации.
- Если вам нужно сохранить информацию о состоянии между независимыми прогонами сценария, рассмотрите возможность использования файла конфигурации для хранения этой информации состояния, например, используя pickle, shelve, sqlite, что угодно.
Вы, вероятно, не должны ставить петлю в петлю – Serial
@ChristianCareaga Почему бы и нет? –
ну, то youre infintely looping loop thats looping, который я не знаю, просто звучит, как будто есть более простой способ – Serial