https://github.com/branneman/current-processes
Node.js library to get a snapshot of the currently running processes, OS-agnostic
https://github.com/branneman/current-processes
Last synced: about 1 month ago
JSON representation
Node.js library to get a snapshot of the currently running processes, OS-agnostic
- Host: GitHub
- URL: https://github.com/branneman/current-processes
- Owner: branneman
- Created: 2014-06-13T08:10:06.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2022-04-07T16:09:45.000Z (about 3 years ago)
- Last Synced: 2024-09-24T21:55:48.276Z (7 months ago)
- Language: JavaScript
- Homepage:
- Size: 58.6 KB
- Stars: 97
- Watchers: 6
- Forks: 10
- Open Issues: 9
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
- awesome-nodejs - current-processes - Node.js library to get a snapshot of the currently running processes, OS-agnostic.  (Repository / Process management)
README
# current-processes
[](https://travis-ci.org/branneman/current-processes)
[](https://coveralls.io/r/branneman/current-processes)
[](https://david-dm.org/branneman/current-processes)
[](https://www.npmjs.org/package/current-processes)
[](https://www.npmjs.org/package/current-processes)Node.js library to get a snapshot of the currently running processes, OS-agnostic. Needs root/Admin permissions.
## Usage example
```js
import _ from 'lodash';
import ps from 'current-processes';ps.get((err, processes) => {
const sorted = _.sortBy(processes, 'cpu');
const top5 = sorted.reverse().splice(0, 5);console.log(top5);
});
```## Process object
The library will return an array consisting of multiple process objects, structured like this:
```js
{
pid: 1337, // Process ID
name: 'chrome', // Process name
mem: {
private: 23054560, // Private memory, in bytes
virtual: 78923608, // Virtual memory (private + shared libraries + swap space), in bytes
usage: 0.02 // Used physical memory (%) by this process
},
cpu: 0.3 // CPU usage (%) as reported by `ps` and `wmic`
}
```## Platform-specific notes
### Windows
WMI (specifically `wmic`) is used to gather the information itself. WMI is fairly slow the first time it's called, it
might even take up to 2-3 seconds. Make sure your app will gracefully handle this. Subsequent calls will be much faster.