Я написал простой сценарий запуска, который запускает программу на Python, и сохранил его как vgpusher.conf
.
Он не запускается автоматически, но если я запускаю sudo start vgpusher
, он запускается и работает просто отлично.
Код прост:
description "vgpush"
start on runlevel [2345]
stop on runlevel [!2345]
script
cd /home/computer/
python pusher.py
end script
Я поместил сценарий в /etc/init
. Кроме этого, я не делал никаких настроек.
На машине установлен сервер Ubuntu 10.04.
Нужно ли делать дополнительный шаг для запуска службы при запуске?
Во-первых, вам не нужен скрипт:
description "vgpush"
start on runlevel [2345]
stop on runlevel [!2345]
chdir /home/computer
exec python pusher.py
Во-вторых, это может помочь записать вывод. Если вы обновитесь до 12.04 (настоятельно рекомендуется!), У вас будет журнал в /var/log/upstart/$jobname.log. Для 10.04 вы должны сделать это вручную:
description "vgpush"
start on runlevel [2345]
stop on runlevel [!2345]
chdir /home/computer
exec python pusher.py 2>&1 >> /var/log/vgpush.log
Это может дать некоторую подсказку. Если бы мне пришлось угадывать, это потому, что для vgpush нужен работающий сетевой интерфейс, а 10.04 запускает уровень запуска 2, прежде чем все сетевые интерфейсы будут готовы.
При поиске и устранении неисправностей в задании на вылет необходимо проверить несколько вещей.
Проверьте правильность задания запуска. Ваш выглядит неплохо, но я бы предложил использовать полный путь к исполняемому файлу python (/ usr / bin / python).
Проверьте журнал заданий выскочки. для каждого задания есть файл журнала по адресу /var/log/upstart/.log. Возможно, ваша работа по какой-то причине запускается и завершается сбоем (возможно, для pusher.py требуется подключение к сети), и этот файл журнала, вероятно, будет содержать информацию на что. По крайней мере, он покажет, пытается ли задание начать работу.