Skip to content

Repository files navigation

pidtree

Latest version on npmDownloads on npmProject license
Lint statusTest macOS statusTest Ubuntu statusTest Windows statusCodecov Coverage reportKnown Vulnerabilities
XO Code Style usedAVA Test Runner usedc8 Test Coverage usedNI Scaffolding System usedrelease-please 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!

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

importpidtreefrom'pidtree'// The named import works too: import {pidtree} from 'pidtree'// Get children of the current process (a promise is returned)constpids=awaitpidtree(process.pid)console.log(pids)// => []// Include the given pid in the result arrayconsole.log(awaitpidtree(process.pid,{root: true}))// => [727]// Get all the processes of the System (-1 is a special value of this package)console.log(awaitpidtree(-1))// => [530, 42, ..., 41241]// Include the PPID in the resultsconsole.log(awaitpidtree(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 promisepidtree(1,function(err,pids){console.log(pids)// => [141, 42, ..., 15242]})

Compatibility

LinuxFreeBSDNetBSDSunOSmacOSWinAIX

✅ = 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

ParamTypeDefaultDescription
pidNumber | StringA pid. If -1 will return all the pids.
[options]ObjectOptional options object.
[options.root]BooleanfalseInclude the provided pid in the list. Ignored if -1 is passed as pid.
[callback]functionCalled 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.

About

🚸 Cross platform children list of a PID.

Topics

Resources

Stars

126 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages