nodejs child_processsubprocess运行两次

我想通过远程桌面连接上的完整计算机名称来连接计算机。 在nodejs中,我创build了一个subprocess来执行一个cmd命令。它成功执行,但两分钟后,它再次执行。 我使用child_process模块​​的kill方法,它不工作。

var child_process = require('child_process'); child_process.exec('mstsc /v ' + fullName, function(err, stdout, stderr) { if(err){ console.log(err); } }); child_process.kill(); 

你可以帮我吗? 非常感谢你!

我遇到过同样的问题,花了我一段时间才明白,问题是HTTP服务器,而不是'chileProccess'。 在你的问题中缺less的链接是你通过HTTP请求运行executeScript(可能expressJs,因为你2分钟后超时)。

问题因为不清楚。

实际发生的事情是,HTTP请求已达到HTTP服务器设置的超时边界,其中expressJS为2分钟。

超时之后,由于没有处理,请求没有被closures,所以再次被调用,等等,每2分钟一次。

解决scheme:

server.setTimeout()是为所有连接设置HTTP连接超时的方法。

2分钟是默认的。

例:

 var express = require('express'); var http = require('http'); var app = module.exports.app = express(); var server = http.createServer(app); server.setTimeout(10*60*1000); // 10 * 60 seconds * 1000 msecs server.listen(appConfig.port, function () { var logger = app.get('logger'); logger.info('**** STARTING SERVER ****'); });