Awesome
tasklist
Wrapper for the Windows
tasklist
command. Returns a list of apps and services with their Process ID (PID) for all tasks running on either a local or a remote computer.
Cleans up and normalizes the data.
Install
$ npm install tasklist
Usage
import {tasklist} from 'tasklist';
console.log(await tasklist());
/*
[
{
imageName: 'taskhostex.exe',
pid: 1820,
sessionName: 'Console',
sessionNumber: 1,
memUsage: 4415488
},
…
]
*/
API
See the tasklist
docs for more.
tasklist(options?)
Returns a Promise<object[]>
that contains the normalized results of the command output.
Examples for options
below will use this interface, but you can check tasklist.stream
below for usage of the stream interface.
tasklistStream(options?)
Returns a stream.Readable
that returns the resulting lines, normalized, one-by-one.
Options are the same as the Promise interface.
import {tasklistStream} from 'tasklist';
tasklistStream({verbose: true}).pipe(process.stdout);
/*
{
imageName: 'taskhostex.exe',
pid: 1820,
sessionName: 'Console',
sessionNumber: 1,
memUsage: 4415488,
status: 'Running',
username: 'SINDRESORHU3930\\sindre'
cpuTime: 0,
windowTitle: 'Task Host Window'
}
…
*/
options
Type: object
Warning
- The
system
,username
,password
options must be specified together. - The
modules
andservices
options can't be specified if verbose is set totrue
. - The
modules
andservices
options can't be specified at the same time. - When
system
,username
,password
options are specified, the filter option can't havewindowtitle
andstatus
as the parameter.
verbose
Type: boolean
Default: false
Return verbose results.
Without the verbose
and apps
option, tasklist
returns tasks with the following properties:
imageName
(Type:string
)pid
(Type:number
)sessionName
(Type:string
)sessionNumber
(Type:number
)memUsage
in bytes (Type:number
)
With the verbose
option set to true
but the apps
option still set to false
, it additionally returns the following properties:
status
(Type:string
): One ofRunning
,Suspended
,Not Responding
, orUnknown
username
(Type:string
)cpuTime
in seconds (Type:number
)windowTitle
(Type:string
)
Note: It's not guaranteed that the username
and windowTitle
properties are returned with proper values. If they are not available, 'N/A'
may be returned on English systems. In contrast, 'Nicht zutreffend'
may be returned on German systems, for example.
Verbose example:
import {tasklist} from 'tasklist';
console.log(await tasklist({verbose: true}));
/*
[
{
imageName: 'taskhostex.exe',
pid: 1820,
sessionName: 'Console',
sessionNumber: 1,
memUsage: 4415488,
status: 'Running',
username: 'SINDRESORHU3930\\sindre'
cpuTime: 0,
windowTitle: 'Task Host Window'
},
…
]
*/
Warning: Using the verbose
option may have a considerable performance impact (See: #6).
system
Type: string
Name or IP address of a remote computer (don't use backslashes). The default is the local computer.
username
Type: string
Example: 'SINDRESORHU3930\\sindre'
User specified by User
or Domain\User
. The default is the permissions of the current logged on user on the computer issuing the command.
password
Type: string
Password of the user account for the specified username
.
filter
Type: string[]
Specify the types of processes to include or exclude. More info.
apps
Type: boolean
Displays store apps.
Without the verbose
option, the command returns the following data:
imageName
(Type:string
)pid
(Type:number
)memUsage
in bytes (Type:number
)packageName
(Type:string
)
import {tasklist} from 'tasklist';
console.log(await tasklist({apps: true}));
/*
[
{
imageName: 'SearchUI.exe (CortanaUI)',
pid: 1820,
memUsage: 4415488,
packageName: 'Microsoft.Windows.Cortana'
},
…
]
*/
With the verbose
option set to true
, the command additionally returns the following data:
sessionName
(Type:string
)sessionNumber
(Type:number
)status
(Type:string
): One ofRunning
,Suspended
,Not Responding
, orUnknown
username
(Type:string
)cpuTime
in seconds (Type:number
)windowTitle
(Type:string
)
Note: It's not guaranteed that the username
and windowTitle
properties are returned with proper values. If they are not available, 'N/A'
may be returned on English systems. In contrast, 'Nicht zutreffend'
may be returned on German systems, for example.
Verbose example:
import {tasklist} from 'tasklist';
console.log(await tasklist({apps: true, verbose: true}));
/*
[
{
imageName: 'SearchUI.exe (CortanaUI)',
pid: 1820,
sessionName: 'Console',
sessionNumber: 1,
memUsage: 4415488,
status: 'Running',
username: 'SINDRESORHU3930\\sindre'
cpuTime: 0,
windowTitle: 'N/A',
packageName: 'Microsoft.Windows.Cortana'
},
…
]
*/
modules
Type: string
List all tasks using the given DLL module name. If an empty string is given, it will list all tasks with the used DLL modules.
Note: You can't use the verbose
option with this option set.
import {tasklist} from 'tasklist';
console.log(await tasklist({modules: 'wmiutils.dll'}));
/*
[{
imageName: 'chrome.exe',
pid: 1820,
modules: ['wmiutils.dll']
}, …]
*/
services
Type: boolean
Displays services hosted in each process.
Note: You can't use the verbose
option with this option set.
import {tasklist} from 'tasklist';
console.log(await tasklist({services: true}));
/*
[{
imageName: 'lsass.exe',
pid: 856,
services: ['KeyIso', 'SamSs', 'VaultSvc']
}, …]
*/
Related
- taskkill - Wrapper for the Windows
taskkill
command