Primeiro, o comando "service" é para os "scripts de inicialização do System V" encontrados em /etc/init.d e não nas configurações de Upstart encontradas em / etc / init. Para o Upstart, você quer usar o "initctl". O equivalente de
$ service --status-all
para Upstart é
$ initctl list
Usando o exemplo de configuração do upstart encontrado no link como guia, eu consegui obter uma configuração do Upstart para usar o seguinte:
#description "start and stop the go program 'my-project'"
start on filesystem or runlevel [2345]
stop on runlevel [!2345]
script
USER='ec2-user'
APP_DIR='/home/ec2-user/go/src/bitbucket.com/xxx/my-project/'
APP_EXEC='my-project'
su - ${USER} -c "exec ${APP_DIR}${APP_EXEC}"
end script
Se suas alterações em /etc/init/my-project.conf não tiverem efeito, você pode tentar forçar uma atualização com:
$ initctl reload-configuration
Também consegui remover o uso de "env" porque era desnecessário.