ChildProcesses cannot be killed if pid is missing
This commit is contained in:
parent
78da9cb052
commit
5a98fa4809
@ -62,15 +62,8 @@ exports.execFile = function (file /* args, options, callback */) {
|
||||
var stderr = "";
|
||||
var killed = false;
|
||||
|
||||
function kill(){
|
||||
if (killed) return;
|
||||
try {
|
||||
function kill () {
|
||||
child.kill(options.killSignal);
|
||||
} catch (err) {
|
||||
if ("No such process" !== err.message) {
|
||||
throw err;
|
||||
}
|
||||
}
|
||||
killed = true;
|
||||
}
|
||||
|
||||
@ -167,10 +160,12 @@ util.inherits(ChildProcess, EventEmitter);
|
||||
|
||||
|
||||
ChildProcess.prototype.kill = function (sig) {
|
||||
if (this._internal.pid) {
|
||||
if (!constants) constants = process.binding("constants");
|
||||
sig = sig || 'SIGTERM';
|
||||
if (!constants[sig]) throw new Error("Unknown signal: " + sig);
|
||||
return this._internal.kill(constants[sig]);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user