npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

tasklist

v5.0.0

Published

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.

Downloads

190,556

Readme

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 and services options can't be specified if verbose is set to true.
  • The modules and services options can't be specified at the same time.
  • When system, username, password options are specified, the filter option can't have windowtitle and status 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 of Running, Suspended, Not Responding, or Unknown
  • 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 of Running, Suspended, Not Responding, or Unknown
  • 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

Maintainers