pidtree

🚸 Cross platform children list of a PID.

MIT License

Downloads
44.1M
Stars
124
Committers
2

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

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.