Скрипт Python не работает через Cron? - PullRequest
2 голосов
/ 20 декабря 2010

У меня есть скрипт Python, который запускает другой скрипт Python.этот «другой скрипт» (выполняемый скрипт) требует ~ 45 [мин] для завершения.

Когда скрипт «исполнения» запускается из оболочки Ubuntu, все работает отлично.

Я добавил запись в cron для запуска сценария python «выполнение».Вначале кажется, что он запускается, но программа завершается через несколько секунд:


user@internet:~/REMOTE_CONTROL$ ps aux | grep python
user      1603  0.0  1.4  31504 15184 ?        S    22:50   0:00 python /usr/share/system-config-printer/applet.py

root      1714  0.0  0.7  13672  8012 ?        S    22:51   0:00 /usr/bin/python /usr/lib/system-service/system-service-d

**user      7956  109  1.0  14380 10692 ?        R    23:48   0:01 python /media/READ_ONLY/DEVELOPER/COMPOSITE/CURRENT/DataLoader.py**

user      8029  0.0  0.0   3320   788 pts/1    S+   23:48   0:00 grep --color=auto python
user@internet:~/REMOTE_CONTROL$ ps aux | grep python

user      1603  0.0  1.4  31504 15184 ?        S    22:50   0:00 python /usr/share/system-config-printer/applet.py

root      1714  0.0  0.7  13672  8012 ?        S    22:51   0:00 /usr/bin/python /usr/lib/system-service/system-service-d

**user      7956  100  1.1  15448 11900 ?        R    23:48   0:07 python /media/READ_ONLY/DEVELOPER/COMPOSITE/CURRENT/DataLoader.py**

user      8033  0.0  0.0   3320   788 pts/1    S+   23:48   0:00 grep --color=auto python
user@internet:~/REMOTE_CONTROL$ ps aux | grep python

user      1603  0.0  1.4  31504 15184 ?        S    22:50   0:00 python /usr/share/system-config-printer/applet.py

root      1714  0.0  0.7  13672  8012 ?        S    22:51   0:00 /usr/bin/python /usr/lib/system-service/system-service-d

**user      7956 97.2  1.2  15992 12412 ?        R    23:48   0:11 python /media/READ_ONLY/DEVELOPER/COMPOSITE/CURRENT/DataLoader.py**

user      8035  0.0  0.0   3320   792 pts/1    S+   23:48   0:00 grep --color=auto python
user@internet:~/REMOTE_CONTROL$ ps aux | grep python

user      1603  0.0  1.4  31504 15184 ?        S    22:50   0:00 python /usr/share/system-config-printer/applet.py

root      1714  0.0  0.7  13672  8012 ?        S    22:51   0:00 /usr/bin/python /usr/lib/system-service/system-service-d

user      8037  0.0  0.0   3320   792 pts/1    S+   23:48   0:00 grep --color=auto python

Есть идеи, что я могу пропустить?Я попытался заменить сценарий, который запускается сценарием «выполнение», и заставить его вызвать простой сценарий, который просто выполняет следующее:

while(1):

....print "hi"

, и он все еще не работает.1014 * Есть идеи?спасибо.

(я использую Ubuntu 10.04 LTS)

1 Ответ

8 голосов
/ 20 декабря 2010

Обычно при попытке запуска вещей из cron возникает несколько распространенных недоразумений.

  • Нет сеанса. Если у вас есть код, который требует сеанса, вы должны выполнить дополнительную настройку.
  • PATH и другие переменные среды почти всегда различаются между вашим пользовательским сеансом и средой выполнения cron.

При сбое cron по умолчанию будет пытаться отправить почту. Вы можете найти ошибки в локальном почтовом ящике или в очереди (если ваш mta не работает).

...