Я размещаю узел как локально локальный сервер для взаимодействия с оборудованием.Nodejs не может убить внешнюю исполняемую программу Windows, выполненную самим Node
Мое веб-приложение затем обращается к Узлу с просьбой выполнить 2 исполняемых файла, в зависимости от того, какой исполняемый файл возвращает данные, сначала ответит обратно на мое веб-приложение.
Таким образом, другой исполняемый файл все еще работает в фоновом режиме, ожидая ответа от аппаратного обеспечения.
Я тоже не могу убить этот процесс, я должен либо вручную остановить узел, либо запустить его снова, либо задача уничтожить исполняемый файл.
Мой код ниже:
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 для своего front-end.
У меня есть онлайн-решение для решения, однако результаты Google все медленно становятся фиолетовыми.
Большое спасибо за тех, кто публикует их решение, пожалуйста, объясните мне детали решения. Я бы очень хотел узнать больше.
Большое вам спасибо.
Hi dm03514, я видел ваше решение. Я хотел бы добавить на заметку, как 'a', так и' b' работают асинхронно, и когда-либо получаемые данные сначала уничтожают другую программу. – Cityman