因此,我必须编写一些执行以下操作的NodeJS代码:每当发出发布请求时,我都会尝试执行某些程序;如果程序已经在执行(由于先前的请求),我将忽略该请求。如果没有,我执行程序。我正在使用NodeJS child_process.exec来完成此操作;但是,我无法知道exec(program)何时终止;我考虑过使用execSync,但这只是阻塞了所有请求,直到程序执行完毕,而不是完全忽略它们。这是我现在拥有的代码:
function fun () {
execFile('C:\\Windows\\System32\\notepad.exe', ['package.json'],);
}
答案 0 :(得分:0)
execFile
是EventEmitter
,因此您可以侦听execFile
运行时发生的事件,包括exit
事件,它告诉您过程已完成。< / p>
ignoreNextRequest = true;
execFile('C:\\Windows\\System32\\notepad.exe', ['package.json']).once('exit', (code, signal) => {
// Your code to handle the end of the process here.
ignoreNextRequest = false;
});