Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用节点js在计算机上运行的服务列表_Node.js - Fatal编程技术网

Node.js 使用节点js在计算机上运行的服务列表

Node.js 使用节点js在计算机上运行的服务列表,node.js,Node.js,我想在NodeJS中编写一个程序,获取机器上运行的服务列表并找到它们的状态。node js中是否有任何命令或api提供机器上运行的服务列表。 我尝试从节点运行sc query命令 var exec = require("child_process").exec; exec("sc query state= all", function(err, stdout) { var lines = stdout.toString().split("\r\n").filter(function (line)

我想在NodeJS中编写一个程序,获取机器上运行的服务列表并找到它们的状态。node js中是否有任何命令或api提供机器上运行的服务列表。 我尝试从节点运行sc query命令

var exec = require("child_process").exec;
exec("sc query state= all", function(err, stdout) {
var lines = stdout.toString().split("\r\n").filter(function (line) {
    return line.indexOf("SERVICE_NAME") !== -1;
}).map(function (line) {
    return line.replace("SERVICE_NAME: ", "");
});
console.log(lines);
}))


这给了我一个正在运行的服务数组……我如何修改它以获得一个二维数组以获得服务名称和服务状态

为此,有一个名为“windows服务控制器”的NPM模块。这是文档。

这完全取决于服务的启动方式和操作系统

某些服务可能会启动,例如使用PM2-为此,您可以使用PM2的编程API:

其他一些服务可以通过init脚本、Upstart、systemd或任何其他方式启动。在npm中搜索适用于特定服务初学者的模块,并使用该模块

例如,如果使用Upstart:


由于您的问题中没有包含任何关于您正在使用的操作系统和服务启动方式的信息,因此很难给出更详细的答案。

谢谢您的回答。。。。我尝试了var exec=require(“子进程”).exec;exec(“sc query state=all”,function(err,stdout){var lines=stdout.toString().split(“\r\n”).filter(function(line){return line.indexOf(“SERVICE_NAME”)!==-1;}.map(function(line){return line.replace(“SERVICE_NAME:”,“”);});console.log(line);。。。。。。。。。。。。。。。。。。这将运行sc查询,并提供一系列正在运行的服务。这是一种好方法吗?