Kill all processes in the process tree, including the root process.
This repo is a fork of https://github.com/pkrumins/node-tree-kill
Significant changes include:
- Included callback support, since this is an function with async internals pkrumins/node-tree-kill#5
- Patched a race condition pkrumins/node-tree-kill#7
- Formatted source code to my personal preference, see included
.jscsrc
and.jshintrc
You can find this repo on npm and github.
In these examples we kill all the child processes of the process with pid 1
, including the process with pid 1
itself.
var tkill = require('@jub3i/tree-kill');
//NOTE: tkill() below has async internal components and may only finish
//killing processes after the call is made
tkill(1, 'SIGKILL');
var tkill = require('@jub3i/tree-kill');
tkill(1, 'SIGKILL', function(err) {
if (err) {
console.log('there was an error:', err);
return;
}
console.log('all processes killed');
});
Note: For Linux, these methods use ps -o pid --no-headers --ppid PID
to find the parent pids of PID
.
Note: For Windows, these methods use 'taskkill /pid PID /T /F'
to kill the process tree.
Sends signal signal
to all children processes of the process with pid pid
, including pid
. When the killing is complete cb
is called. The cb
method signature is cb(err)
.
Sends signal signal
to all children processes of the process with pid pid
, including pid
.
Sends signal SIGTERM
to all children processes of the process with pid pid
, including pid
. When the killing is complete cb
is called. The cb
method signature is cb(err)
.
Sends signal SIGTERM
to all children processes of the process with pid pid
, including pid
.
With npm do:
npm install @jub3i/tree-kill
Note: Install requires a version of npm greater than 2.7.0 which supports scoped packages, otherwise npm will install this git repo into the dependencies field of your package.json
MIT