| Tree Kill |
| ========= |
| |
| Kill all processes in the process tree, including the root process. |
| |
| Examples |
| ======= |
| |
| Kill all the descendent processes of the process with pid `1`, including the process with pid `1` itself: |
| ```js |
| var kill = require('tree-kill'); |
| kill(1); |
| ``` |
| |
| Send a signal other than SIGTERM.: |
| ```js |
| 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. |
| ```js |
| 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: |
| ```sh |
| tree-kill 1 # sends SIGTERM to process 1 and its descendents |
| tree-kill 1 SIGTERM # same |
| tree-kill 1 SIGKILL # sends KILL instead of TERMINATE |
| ``` |
| |
| Methods |
| ======= |
| |
| ## require('tree-kill')(pid, [signal], [callback]); |
| |
| Sends 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. |
| |
| Install |
| ======= |
| |
| With [npm](https://npmjs.org) do: |
| |
| ``` |
| npm install tree-kill |
| ``` |
| |
| License |
| ======= |
| |
| MIT |
| |
| Changelog |
| ========= |
| |
| |
| ## [1.2.2] - 2019-12-11 |
| ### Changed |
| - security fix: sanitize `pid` parameter to fix arbitrary code execution vulnerability |
| |
| ## [1.2.1] - 2018-11-05 |
| ### Changed |
| - added missing LICENSE file |
| - updated TypeScript definitions |
| |
| ## [1.2.0] - 2017-09-19 |
| ### Added |
| - TypeScript definitions |
| ### Changed |
| - `kill(pid, callback)` works. Before you had to use `kill(pid, signal, callback)` |
| |
| ## [1.1.0] - 2016-05-13 |
| ### Added |
| - A `tree-kill` CLI |
| |
| ## [1.0.0] - 2015-09-17 |
| ### Added |
| - optional callback |
| - Darwin support |