Узел JS запуск и остановка служб Windows

У меня есть приложение nodeJS, которое взаимодействует с сторонним приложением, установленным как служба windows. Мое приложение nodeJS требует, чтобы эта служба была запущена, однако при некоторых обстоятельствах это может быть не так.

Im пытается найти метод, чтобы проверить, работает ли эта служба windows, и если не запустить его. После многих дней поиска я нашел много результатов для запуска приложения nodeJS в качестве службы windows, но не один, предоставляющий возможность запуска / остановки уже установлены службы windows.

Это вообще возможно? Я нашел такие инструменты, как PSEXEC, поэтому я мог бы заставить nodeJS запустить такой скрипт, но было бы предпочтительнее, чтобы nodeJS мог выполнить эту задачу изначально.

любая информация с этой целью была бы очень полезной, и мне трудно поверить, что другие не были в ситуации, когда им тоже нужно было это сделать.

Стивен

1 ответов


в windows из командной строки можно ввести:

# Start a service
net start <servicename>

# Stop a service
net stop <servicename>

# You can also pause and continue

Итак, простой ответ - используйте дочерний процесс для запуска службы при запуске вашего сервера. Что-то вроде этого:--3-->

var child = require('child_process').exec('net start <service>', function (error, stdout, stderr) {
    if (error !== null) {
        console.log('exec error: ' + error);
    }
    // Validate stdout / stderr to see if service is already running
    // perhaps.
});

EDIT: Я также нашел этот модуль nodejs под названием "windows-service". Кажется многообещающим для того, что вы пытаетесь сделать. Некоторые из его функций реализованы на C++, где он пытается запросить Диспетчер служб Windows.