pidtree
🚸 Cross platform children list of a PID.
Coded with ❤️ by Simone Primarosa.
Synopsis
This package is really similar to ps-tree but is faster, safer and
provides sub-children results.
Furthermore ps-tree is unmaintained.
Uuh, and a fancy CLI is also available!
Install
npm install pidtree
Requirements: pidtree is an ESM-only package and requires
Node.js >= 18. If you need CommonJS (require) or support for older
Node.js versions, stay on pidtree@0.6.
Usage
import pidtree from 'pidtree'
// The named import works too: import {pidtree} from 'pidtree'
// Get children of the current process (a promise is returned)
const pids = await pidtree(process.pid)
console.log(pids)
// => []
// Include the given pid in the result array
console.log(await pidtree(process.pid, {root: true}))
// => [727]
// Get all the processes of the System (-1 is a special value of this package)
console.log(await pidtree(-1))
// => [530, 42, ..., 41241]
// Include the PPID in the results
console.log(await pidtree(1, {advanced: true}))
// => [{ppid: 1, pid: 530}, {ppid: 1, pid: 42}, ..., {ppid: 1, pid: 41241}]
// A Node-style callback is also supported instead of a promise
pidtree(1, function (err, pids) {
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.
CLI

Show a tree of the processes inside your system inside your terminal.
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.
npx pidtree
To display the output as a list, similar to the one produced from pgrep -P $PID,
pass the --list flag.
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. |
- pidusage -
Cross-platform process cpu % and memory usage of a PID
Authors
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the license file for details.