pidtree

Mac/Linux Build Status Windows Build status Codecov Coverage report Known Vulnerabilities Dependency Status
XO Code Style used AVA Test Runner used Istanbul Test Coverage used NI Scaffolding System used NP Release System used
Latest version on npm Project license

🚸 Cross platform children list of a PID.
Coded with ❤️ by Simone Primarosa.

## Synopsis This package is really similar to [ps-tree][gh:ps-tree] but is faster, safer and provides sub-children results. Furthermore ps-tree is [unmaintained][gh:ps-tree-um]. Uuh, and a fancy [CLI](#cli) is also available! ## Usage ```js var pidtree = require('pidtree') // Get childs of current process pidtree(process.pid, function (err, pids) { console.log(pids) // => [] }) // Include the given pid in the result array pidtree(process.pid, {root: true}, function (err, pids) { console.log(pids) // => [727] }) // Get all the processes of the System (-1 is a special value of this package) pidtree(-1, function (err, pids) { console.log(pids) // => [530, 42, ..., 41241] }) // Include PPID in the results pidtree(1, {advanced: true}, function (err, pids) { console.log(pids) // => [{ppid: 1, pid: 530}, {ppid: 1, pid: 42}, ..., {ppid: 1, pid: 41241}] }) // If no callback is given it returns a promise instead const pids = await pidtree(1) console.log(pids) // => [141, 42, ..., 15242] ``` ## Compatibility | Linux | FreeBSD | NetBSD | SunOS | macOS | Win | AIX | | --- | --- | --- | --- | --- | --- | --- | | ✅ | ❓ | ❓ | ❓ | ✅ | ✅ | ❓ | ✅ = Working ❓ = Not tested but should work Please if your platform is not supported [file an issue][new issue]. ## CLI pidtree cli Show a tree of the processes inside your system inside your terminal. ```bash npx pidtree $PPID ``` Just replace `$PPID` with one of the pids inside your system. Or don't pass anything if you want all the pids inside your system. ```bash npx pidtree ``` To display the output as a list, similar to the one produced from `pgrep -P $PID`, pass the `--list` flag. ```bash npx pidtree --list ``` ## API ## pidtree(pid, [options], [callback]) ⇒ [Promise.<Array.<Object>>] Get the list of children pids of the given pid. **Kind**: global function **Returns**: Promise.<Array.<Object>> - Only when the callback is not provided. **Access**: public | Param | Type | Default | Description | | --- | --- | --- | --- | | pid | Number \| String | | A pid. If -1 will return all the pids. | | [options] | Object | | Optional options object. | | [options.root] | Boolean | false | Include the provided pid in the list. Ignored if -1 is passed as pid. | | [callback] | function | | Called when the list is ready. If not provided a promise is returned instead. | ## Related - [pidusage][gh:pidusage] - Cross-platform process cpu % and memory usage of a PID ## Authors - **Simone Primarosa** - [simonepri][github:simonepri] See also the list of [contributors][contributors] who participated in this project. ## License This project is licensed under the MIT License - see the [license][license] file for details. [new issue]: https://github.com/simonepri/pidtree/issues/new [license]: https://github.com/simonepri/pidtree/tree/master/license [contributors]: https://github.com/simonepri/pidtree/contributors [github:simonepri]: https://github.com/simonepri [gh:pidusage]: https://github.com/soyuka/pidusage [gh:ps-tree]: https://github.com/indexzero/ps-tree [gh:ps-tree-um]: https://github.com/indexzero/ps-tree/issues/30