У меня есть супер простой тестовый сервер узла
# server.js
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(8080, '127.0.0.1');
console.log('Server running at http://127.0.0.1:8080/');
У меня есть простой новомодный сценарий,/etc/init/myapp.conf
description "myapp"
author "me"
start on started
stop on shutdown
exec /usr/bin/node /path/to/server.js
запуск работает отлично
sudo start myapp
myapp start/running, process 2518
Но остановка просто повторно порождает приложение
sudo stop myapp
myapp start/running, process 2527
Что я не получаю?
PS: я использую человечность 14.04
Одна из проблем, которую я вижу с вашим заданием Upstart, это start on
stanza. Событием, при котором начинается ваше задание, является событие start
. Читая страницу man-страницы для событий upstart, можно обнаружить, что начальное событие выдается при запуске задания любого задания с помощью Upstart. Это не то, что вы хотите. Вместо этого используйте событие типа уровня выполнения [2345]
, чтобы ваше приложение запускалось на всех уровнях многопользовательской работы. Это должно прояснить вашу проблему.