2016 Обновление: Узел Windows/Mac/серия Linux использует общий API для всех операционных систем, поэтому это абсолютно подходящее решение. Однако; node-linux генерирует файлы инициализации systemv. Поскольку systemd продолжает расти в популярности, это реалистично лучший вариант для Linux. Добро пожаловать PR, если кто-то хочет добавить Systemd поддержки узла-Linux :-)
Оригинальной Тема:
Это довольно старая нить теперь, но node-windows предоставляет еще один способ создания фоновых служб на Windows. Он основан на концепции nssm
использования обертки exe
вокруг вашего скрипта узла. Однако; вместо этого он использует winsw.exe
и предоставляет настраиваемую оболочку узла для более детального контроля за тем, как процесс запускается/останавливается при сбоях. Эти процессы доступны, как и любой другой услуги:
Модуль также печет в некоторых ведение журнала событий:
ваш скрипт в режим демона осуществляется с помощью кода. Например:
var Service = require('node-windows').Service;
// Create a new service object
var svc = new Service({
name:'Hello World',
description: 'The nodejs.org example web server.',
script: 'C:\\path\\to\\my\\node\\script.js'
});
// Listen for the "install" event, which indicates the
// process is available as a service.
svc.on('install',function(){
svc.start();
});
// Listen for the "start" event and let us know when the
// process has actually started working.
svc.on('start',function(){
console.log(svc.name+' started!\nVisit http://127.0.0.1:3000 to see it in action.');
});
// Install the script as a service.
svc.install();
Модуль поддерживает такие вещи, как укупорки перезагружается (так плохие сценарии не шланг сервера) и растущие временные интервалы между перезагрузками.
Поскольку службы узлов-узлов работают, как и любые другие, можно управлять/контролировать службу с помощью любого программного обеспечения, которое вы уже используете.
И, наконец, нет зависимостей make
. Другими словами, будет работать простой npm install -g node-windows
. Вам не нужна Visual Studio, .NET или маска node-gyp для установки этого. Кроме того, это лицензия MIT и BSD.
В полном раскрытии я являюсь автором этого модуля. Он был разработан для облегчения точной боли, которую испытывал ОП, но с более тесной интеграцией с функциональными возможностями, которые уже предоставляет операционная система. Я надеюсь, что будущие зрители с таким же вопросом найдут это полезным.
Я думаю, что он имел в виду, чтобы закрыть его локальную систему –
он имел в виду закрытие SSH сессия завершает задачу – thedjaney
@thedjaney именно –