Javascript 是否控制节点中的特定进程id?

Javascript 是否控制节点中的特定进程id?,javascript,node.js,process,child-process,command-line-interface,Javascript,Node.js,Process,Child Process,Command Line Interface,我正在开发一个节点应用程序,它允许客户端控制服务器上运行的程序。程序必须始终在其自己的终端窗口上运行。理想情况概述如下: 客户端点击一个按钮->命令运行在终端运行程序->程序做某事 我对node不是很有经验,但我知道我可以使用ChildProcess事件发射器运行命令行脚本。我遇到的问题是如何告诉node在特定进程(即运行我试图操纵的程序的进程)上运行命令。有没有办法在特定的进程id上执行命令?是否有方法检测所有当前进程及其id 如果您有任何建议或指导,我们将不胜感激。当您创建子流程时,您可以将

我正在开发一个节点应用程序,它允许客户端控制服务器上运行的程序。程序必须始终在其自己的终端窗口上运行。理想情况概述如下:

客户端点击一个按钮->命令运行在终端运行程序->程序做某事

我对node不是很有经验,但我知道我可以使用ChildProcess事件发射器运行命令行脚本。我遇到的问题是如何告诉node在特定进程(即运行我试图操纵的程序的进程)上运行命令。有没有办法在特定的进程id上执行命令?是否有方法检测所有当前进程及其id


如果您有任何建议或指导,我们将不胜感激。

当您创建子流程时,您可以将其分配给变量,以便以后可以引用它。在本例中,您可能希望将其添加到对象或数组中,以便可以引用一组正在运行的进程

您可以参考文档中的示例

向创建的子进程发送命令的一种方法是使用,例如
child.kill('SIGSOMETHING')

例如:

var spawn = require('child_process').spawn;

function spawnChild() {
  var cmd = spawn('cmd', ['-p1', 'param']);

  cmd.stdout.on('data', function (data) {
    console.log('stdout: ' + data);
  });

  cmd.stderr.on('data', function (data) {
    console.log('stderr: ' + data);
  });

  cmd.on('close', function (code) {
    console.log('child process exited with code ' + code);
  });

  // Save a reference to this child
  children.push(cmd);
}

// Spawn 5 children
for (var i = 0; i < 5; i++) {
  spawnChild();
}

// Send a signal after 5 seconds
setTimeout(function(){
  for (var i in children) {
    var child = children[i];
    console.log('Sending signal to child with PID: ' + child.pid);
    child.kill('SIGSOMETHING');
  }
}, 5000);
var spawn=require('child_process')。spawn;
函数spawnschild(){
var cmd=spawn('cmd',['-p1','param']);
cmd.stdout.on('data',函数(data){
log('stdout:'+数据);
});
cmd.stderr.on('data',函数(data){
log('stderr:'+数据);
});
命令on('close',函数(代码){
console.log('子进程以代码'+code'退出);
});
//保存对此子对象的引用
儿童推(cmd);
}
//生5个孩子
对于(变量i=0;i<5;i++){
产卵子();
}
//5秒后发送信号
setTimeout(函数(){
for(儿童中的变量i){
var child=childs[i];
console.log('Sending signal to child with PID:'+child.PID);
杀戮('sigmothing');
}
}, 5000);