Я столкнулся со следующей проблемой. Я хочу запустить скрипт Python как сервис в системе Ubuntu 11.10 (уже упоминавшийся в следующей ссылке: Сервис Python, использующий Upstart в Ubuntu ) Я выполнил шаги, упомянутые в вышеупомянутой ссылке, но я получил следующее сообщение об ошибке в системном журнале:
init: script main process (21826) terminated with status 1
Jun 8 16:59:55 bilbo kernel: [263012.984531] init: script main process ended, respawning
Jun 8 16:59:55 bilbo kernel: [263013.044099] init: script main process (21827) terminated with status 1
Две вышеупомянутые строки повторяются постоянно.
Сказав sudo start script
, я получаю следующее:
$ sudo start script
script start/running, process 21826
Ниже приводится содержание моих script.conf
, помещенных в /etc/init
:
description "Used to start python script as a service"
author "bilbo"
start on runlevel [2]
stop on runlevel [06]
exec python /home/bilbo/scripts/webserver.py
respawn
Пожалуйста, скажите мне что я делаю не так? Должен ли я также изменить свой код Python?
webserver.py
выходит с ненулевым значением. Выскочкой по умолчанию считает это ошибкой и так пытается перезапустить сервис.
Относительно почему webserver.py
выходит - мое предположение было бы то, что это принимает конкретную среду. Когда Выскочка порождает процесс, он очищает среду, точно так же, как cron
и at
, и затем устанавливает очень небольшое количество переменных, а именно:
TERM
PATH
Для наблюдения всей среды задания добавьте вызов к set
как показано здесь:
Если для Вашего сервиса Python нужны другие переменные, можно установить их использование"env
"(Новомодная строка файла конфигурации, не команда оболочки). См.: