Upstart, одно определение задания для начала и одно для остановки

Привет, я только что обнаружил Ubuntu Upstart (и т.д. / init / * скрипты). И я хотел бы использовать его для запуска конкретного приложения. Это приложение запускается через командную строку, но есть аргумент для запуска экземпляра приложения и другой аргумент для его остановки (скажем, 'start' и 'stop'). Есть ли способ использовать для этого upstart ?? 110]

7
задан 25 January 2011 в 01:23

3 ответа

Это должно быть так же просто, как создать файл /etc/init/myjob.conf:

description    "My Job"

# start conditions for automatic start
# stop conditions for automatic stop

pre-start exec /path/to/program start
post-stop exec /path/to/program stop

После этого вы сможете выполнить sudo start myjob для запуска и sudo stop myjob для остановки.

См. http://upstart.ubuntu.com для получения дополнительной информации.

0
ответ дан 25 January 2011 в 01:23

Если все, что вы хотите сделать, это запустить / остановить службу во время загрузки ..., тогда бросьте ваш скрипт в /etc/init.d и запустите

update-rc.d yourscript defaults

Или, если это будет жаловаться

[ 111]

Оба из них добавят его к загрузке / выключению.

Обратите внимание, что это означает, что он будет работать от имени пользователя root, поэтому вы можете убедиться, что скрипт переключает пользователей на вашего пользователя или другого пользователя, для которого вы хотите, чтобы эта программа работала как.

Upstart предназначен для замены таких скриптов, если это вообще возможно. Мотивы для этого - более быстрая загрузка и более четкое кодирование информации, необходимой для того, чтобы знать, когда запускать / останавливать службу. Он обеспечивает более быструю загрузку, особенно благодаря тому, что для начала нужно только прочитать содержимое / etc / init, что особенно полезно, когда вы добавляете ureadahead к процессу загрузки, поскольку менее случайные крошечные файлы сценариев, которые ureadahead должен кэшировать, тем больше он может тратить время на важные вещи, такие как библиотеки и программы, необходимые для запуска системы.

Держу пари, что скрипт, который вы запускаете, делает несколько вещей для настройки среды, а затем запускает программу в демонизированном режиме. Ваша выскочка должна стремиться заменить логику сценария, а не просто запустить сценарий.

0
ответ дан 25 January 2011 в 01:23

Полагаю, вы захотите, чтобы он запускался или останавливался на разных событиях, поэтому вам будет проще настроить две разные работы.

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

0
ответ дан 25 January 2011 в 01:23

Другие вопросы по тегам:

Похожие вопросы: