@667/ps-list

1.1.3 • Public • Published

ps-list Build Status

Get running processes

Works on macOS, Linux, and Windows.

Primary difference between sindresorhus/ps-list is the use of native PowerShell instead of fastlist.exe. PowerShell is native to Windows, and provides much more information than available otherwise.

Previously WMIC was used, however it is now deprecated by Microsoft.

Additionally, this fork:

  • will filter out the PID of the process running the ps-list this PR.
  • will redact strings from it's output

Install

$ npm install @667/ps-list

Usage

const psList = require('@667/ps-list');

(async () => {
	console.log(await psList());
	//=> [{pid: 3213, name: 'node', cmd: 'node test.js', ppid: 1, uid: 501, cpu: 0.1, memory: 1.5}, …]
})();

or on Windows:

	/*
	=> [{caption: "node.exe", 
		cmd: "node   "C:\..\nodemon.js" test.js",
		commandline: "node   "C:\..\nodemon.js" --inspect test.js",
		cpu: 0,
		creationclassname: "Win32_Process",
		creationdate: "20200421203634.377920-420",
		cscreationclassname: "Win32_ComputerSystem",
		csname: "DESKTOP-ARG34AZ",
		description: "node.exe",
		executablepath: "C:\Program Files\nodejs\node.exe",
		executionstate: "",
		handle: "12604",
		handlecount: "173",
		installdate: "",
		kernelmodetime: "4687500",
		maximumworkingsetsize: "1380",
		memory: 19742720,
		minimumworkingsetsize: "200",
		name: "node.exe",
		node: "DESKTOP-ARG34AZ",
		oscreationclassname: "Win32_OperatingSystem",
		osname: "Microsoft Windows 10 Pro|C:\WINDOWS|",
		otheroperationcount: "9878",
		othertransfercount: "396344",
		pagefaults: "14660",
		pagefileusage: "16584",
		parentprocessid: "10976",
		peakpagefileusage: "23184",
		peakvirtualsize: "4587802624",
		peakworkingsetsize: "31452",
		pid: 12604,
		ppid: 10976,
		priority: "8",
		privatepagecount: "16982016",
		processid: "12604",
		quotanonpagedpoolusage: "19",
		quotapagedpoolusage: "170",
		quotapeaknonpagedpoolusage: "22",
		quotapeakpagedpoolusage: "206",
		readoperationcount: "312",
		readtransfercount: "557407",
		sessionid: "1",
		status: "",
		terminationdate: "",
		threadcount: "14",
		usermodetime: "5312500",
		virtualsize: "4586491904",
		windowsversion: "10.0.19041",
		workingsetsize: "28581888",
		writeoperationcount: "1",
		writetransfercount: "55"}, …]
	*/

The uid property is not yet supported on Windows.

API

psList([options])

Returns a Promise<Array> with the running processes.

options

Type: Object

all

Type: boolean Default: true

Return other users' processes as well as your own.

On Windows this has no effect and will always be the users' own processes.

redact

Type: regex or array

The regex being what you want to replace, and in the case of an array type, the second array item is the replacement string.

Example:

  1. using a regex type: { redact: /secret/g }
  2. or using an array type: { redact: [ /secret/g, '***wouldntyouliketoknow***' ] }
    • This second form will replace all strings matching "secret" with strings equal to "***wouldntyouliketoknow***".
    • The default replacement string is "***redacted***".

License

MIT © June07

Package Sidebar

Install

npm i @667/ps-list

Weekly Downloads

20

Version

1.1.3

License

ISC

Unpacked Size

12.7 kB

Total Files

9

Last publish

Collaborators

  • 667