Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/simonepri/pidtree
🚸 Cross platform children list of a PID.
https://github.com/simonepri/pidtree
cli list nodejs pgrep pid pids ppid ps ps-tree tree
Last synced: about 1 month ago
JSON representation
🚸 Cross platform children list of a PID.
- Host: GitHub
- URL: https://github.com/simonepri/pidtree
- Owner: simonepri
- License: mit
- Created: 2018-03-19T03:09:54.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2022-12-13T08:46:35.000Z (over 1 year ago)
- Last Synced: 2024-05-15T14:30:07.226Z (4 months ago)
- Topics: cli, list, nodejs, pgrep, pid, pids, ppid, ps, ps-tree, tree
- Language: JavaScript
- Size: 49.8 KB
- Stars: 124
- Watchers: 5
- Forks: 12
- Open Issues: 4
-
Metadata Files:
- Readme: readme.md
- License: license
Awesome Lists containing this project
README
pidtree
🚸 Cross platform children list of a PID.
Coded with ❤️ by Simone Primarosa.
## Synopsis
This package is really similar to [ps-tree][gh:ps-tree] but is faster, safer and
provides sub-children results.
Furthermore ps-tree is [unmaintained][gh:ps-tree-um].Uuh, and a fancy [CLI](#cli) is also available!
## Usage
```js
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 workPlease if your platform is not supported [file an issue][new issue].
## CLI
Show a tree of the processes inside your system inside your terminal.```bash
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.
```bash
npx pidtree
```To display the output as a list, similar to the one produced from `pgrep -P $PID`,
pass the `--list` flag.```bash
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][gh:pidusage] -
Cross-platform process cpu % and memory usage of a PID## Authors
- **Simone Primarosa** - [simonepri][github:simonepri]
See also the list of [contributors][contributors] who participated in this project.
## License
This project is licensed under the MIT License - see the [license][license] file for details.
[new issue]: https://github.com/simonepri/pidtree/issues/new
[license]: https://github.com/simonepri/pidtree/tree/master/license
[contributors]: https://github.com/simonepri/pidtree/contributors[github:simonepri]: https://github.com/simonepri
[gh:pidusage]: https://github.com/soyuka/pidusage
[gh:ps-tree]: https://github.com/indexzero/ps-tree
[gh:ps-tree-um]: https://github.com/indexzero/ps-tree/issues/30