Skip to content

simonepri/pidtree

Repository files navigation

pidtree

Latest version on npm Downloads on npm Project license
Lint status Test macOS status Test Ubuntu status Test Windows status Codecov Coverage report Known Vulnerabilities
XO Code Style used AVA Test Runner used Istanbul Test Coverage used NI Scaffolding System used NP Release System used

🚸 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!

Usage

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.

CLI

pidtree 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.

Related

  • 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.