pidtree
v1.0.0
Published
Cross platform children list of a PID
Maintainers
Readme
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 pidtreeRequirements: 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[email protected].
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
npx pidtree $PPIDJust 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 pidtreeTo display the output as a list, similar to the one produced from pgrep -P $PID,
pass the --list flag.
npx pidtree --listAPI
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
- Simone Primarosa - simonepri
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.
