Kill all processes in the process tree, including the root process.
Kill all the descendent processes of the process with pid 1, including the process with pid 1 itself:
var kill = require('tree-kill');
kill(1);Send a signal other than SIGTERM.:
var kill = require('tree-kill');
kill(1, 'SIGKILL');Run a callback when done killing the processes. Passes an error argument if there was an error.
var kill = require('tree-kill');
kill(1, 'SIGKILL', function(err) {
// Do things
});You can also install tree-kill globally and use it as a command:
tree-kill 1 # sends SIGTERM to process 1 and its descendents
tree-kill 1 SIGTERM # same
tree-kill 1 SIGKILL # sends KILL instead of TERMINATESends signal signal to all children processes of the process with pid pid, including pid. Signal defaults to SIGTERM.
For Linux, this uses ps -o pid --no-headers --ppid PID to find the parent pids of PID.
For Darwin/OSX, this uses pgrep -P PID to find the parent pids of PID.
For Windows, this uses 'taskkill /pid PID /T /F' to kill the process tree. Note that on Windows, sending the different kinds of POSIX signals is not possible.
With npm do:
npm install tree-kill
MIT
- security fix: sanitize
pidparameter to fix arbitrary code execution vulnerability
- added missing LICENSE file
- updated TypeScript definitions
- TypeScript definitions
kill(pid, callback)works. Before you had to usekill(pid, signal, callback)
- A
tree-killCLI
- optional callback
- Darwin support