该脚本将启动以下服务:
#!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
答案1
首先,Upstart 作业配置文件(.conf 文件)不是传统意义上的脚本:第一行(' #!upstart
')是完全多余的,只会被视为注释。
您的问题是在第一个 .conf 文件中的 for 循环中使用了“ exec
”: exec 用您提供给 exec 的任何参数替换当前正在运行的 shell,因此只会运行 for 循环中的第一个条目。
要修复此问题,只需删除exec
第一个.conf 文件中的“ ”。