SkillAgentSearch skills...

Psaux

:package: Process status in Node.js as you've always wanted

Install / Use

/learn @zzarcon/Psaux
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

psaux Build Status npm version Dependency Status npm license

Process status in Node.js as you've always wanted

Promise oriented and lightweight Javascript utility for getting info about the processes runing in your machine. It is designed to give you a friendly api for filter within all of them.

Install

$ npm install psaux --save

# Usage

Display the user, pid, cpu and mem of all the running processes:

const psaux = require('psaux');

psaux().then(list => {  
  list.forEach(ps => {
    console.log(ps.user, ps.pid, ps.cpu, ps.mem);
  });
});

Find a concrete process using his pid

psaux().then(list => {  
  let chrome = list.query({pid: 12345});

  console.log('Google chrome is using ' + chrome.cpu + '% of CPU and ' + chrome.mem + '% of memory');
});

Display inefficient processes started from the root user.

psaux().then(list => {  
  let inefficient = list.query({
    user: 'root',
    mem: '>5'
  });

  console.log('Processes started by root and using more that 5% of memory');
});

Search for a process containing the passed string (very useful if you don't know the pid)

psaux().then(list => {  
  let chrome = list.query({command: '~chrome'});
  
  if (chrome) {
    console.log('Chrome process found!', chrome);
  }
}); 

Filters

You can filter by every property of the returned objects using the query method. Also you can create complex filters if needed:

list.query({
  user: 'john',
  mem: '>2 <10',
  vsz: '>4000000',
  command: '~Sublime Text'
});
  • > Greater than: >5
  • < Lower than: <5
  • ~ Contains: ~Chrome

Properties

The properties you can access are basically the same listed in the ps command:

  • user: user owning the process
  • pid: process ID
  • cpu: It is the CPU time used divided by the time the process has been running.
  • mem: ratio of the process’s resident set size to the physical memory on the machine
  • vsz: virtual memory usage of entire process (in KiB)
  • rss: resident set size, the non-swapped physical memory that a task has used (in KiB)
  • tt: controlling tty (terminal)
  • stat: multi-character process state
  • started: starting time or date of the process
  • time: cumulative CPU time
  • command: command with all its arguments

# Supported platforms

The module currently supports Mac OS, Linux and Windows.

Related Skills

View on GitHub
GitHub Stars94
CategoryDevelopment
Updated8mo ago
Forks6

Languages

JavaScript

Security Score

87/100

Audited on Jul 29, 2025

No findings