Этот скрипт запустит службы:
#!upstart
description "example.com"
author "Geert"
script
for service in "website" "feeds" "jobs"
do
exec start service.example.com service=$service
done
end script
Сервисный скрипт выглядит так:
#!upstart
description "service.example.com"
author "Geert"
start on (local-filesystems and net-device-up IFACE=eth0)
stop on shutdown
respawn # restart when job dies
instance $service
script
exec /home/fs/.nvm/v0.6.7/bin/coffee /home/fs/Dropbox/work/2012/krafters/$service.coffee
end script
У меня проблема в том, что он создает только сервис веб-сайта.
initctl list | grep example
example.com stop/waiting
service.example.com (website) start/running, process 22787
Во-первых, файлы конфигурации задания Upstart (файлы .conf) не являются сценариями в обычном смысле слова: первая строка, которая у вас есть ('#!upstart
') полностью лишний и будет рассматриваться только как комментарий.
Ваша проблема в использовании "exec
'в первом файле .conf с циклом for: exec заменяет запущенную в данный момент оболочку любым аргументом, который вы передаете exec, поэтому будет запущена только первая запись в цикле for.
Чтобы исправить это, просто удалите 'exec
'в первом файле .conf.