nodejs child_process 子进程 运行 两次
nodejs child_process child process run twice
我想在远程桌面连接上通过完整的计算机名称连接一台计算机。在nodejs中,我创建了一个子进程来执行cmd command.It 执行成功,但两分钟后,它再次执行。我用的是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'。
您问题中缺少的 link 是您 运行 通过 HTTP 请求执行脚本的事实(可能是 expressJs,因为您在 2 分钟后超时)。
问题:因为没搞清楚
实际发生的是 HTTP 请求达到了 HTTP 服务器设置的超时边界,在 expressJS 中是 2 分钟。
超时后,由于没有处理,请求也没有关闭,
它被再次调用,以此类推每 2 分钟一次。
解决方法:
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 ****');
});
我想在远程桌面连接上通过完整的计算机名称连接一台计算机。在nodejs中,我创建了一个子进程来执行cmd command.It 执行成功,但两分钟后,它再次执行。我用的是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'。 您问题中缺少的 link 是您 运行 通过 HTTP 请求执行脚本的事实(可能是 expressJs,因为您在 2 分钟后超时)。
问题:因为没搞清楚
实际发生的是 HTTP 请求达到了 HTTP 服务器设置的超时边界,在 expressJS 中是 2 分钟。
超时后,由于没有处理,请求也没有关闭, 它被再次调用,以此类推每 2 分钟一次。
解决方法:
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 ****');
});