Skip to content

Node.js library to get a snapshot of the currently running processes, OS-agnostic

Notifications You must be signed in to change notification settings

branneman/current-processes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

62cd725 · Jul 6, 2016

History

85 Commits
Jun 23, 2014
Jun 23, 2014
Jun 23, 2014
Jun 20, 2014
Jun 20, 2014
Jun 23, 2014
Jun 23, 2014
Jun 23, 2014
Jul 1, 2014
Jul 5, 2016

Repository files navigation

current-processes

Build Status Coverage Status Dependency Status npm version npm Downloads

Node.js library to get a snapshot of the currently running processes, OS-agnostic. Needs root/Admin permissions.

Usage example

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:

{
    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.