【发布时间】:2015-04-27 13:46:20
【问题描述】:
我在本地托管 Node 作为服务器以与硬件交互。
然后我的 Web 应用程序向 Node 发出请求以执行 2 个可执行文件,无论哪个可执行文件首先返回数据,都会将其响应回我的 Web 应用程序。
这样做会导致其他可执行文件仍在后台运行,等待来自硬件的响应。
我也无法终止该进程,我必须手动停止 Node 并再次运行它,或者执行终止该可执行文件的任务。
我的代码如下:
Node.JS
var exec = require('child_process').exec;
app.get('/Page', function (req, res) {
var Page = function () {
var a = exec('F:/Example1.exe', function (err, data) {
console.log(err);
console.log(data);
b.kill();
if (!res.headersSent) {
res.send(data);
}
});
var b = exec('F:/Example2.exe', function (err, data) {
console.log(err);
console.log(data);
a.kill();
if (!res.headersSent) {
res.send(data);
}
});
}
Page();
});
显然,即使使用kill 命令,我仍然无法终止进程。
我应该让你们知道,我也在使用 AngularJS 作为我的前端。
我已经在网上寻找解决方案,但是 Google 的结果都慢慢变紫了。
非常感谢那些发布解决方案的人,请向我解释解决方案的详细信息。我真的很想了解更多。
非常感谢。
【问题讨论】:
标签: javascript angularjs node.js response kill-process