better-tasklist
TypeScript icon, indicating that this package has built-in type declarations

1.2.0 • Public • Published

better-tasklist

A Javascript written wrapper for the Windows tasklist command. better-tasklist gives developers the ability to control running windows tasks. Inspired by @sindresorhus's tasklist wrapper, tasklist.


Installation

Installing better-tasklist can be done using the following command down below.

$ npm install better-tasklist

You might need to install csv-parser as well. That can also be done by the following command down below.

$ npm install csv-parser

Usage

import tasklist, { FilteredWindowsProcesses, FetchedWindowsProcesses } from "better-tasklist";

(async function() {
    // Start writing your program here.

    // The verbose property is optional which will return detailed results.
    const processes: FetchedWindowsProcesses = await tasklist.fetch({verbose: true}); 

    // Returns an array with fetched Windows processes that has the name 'svchost.exe'.
    const filtered: FilteredWindowsProcesses = await tasklist.filter(processes, {
        imageName: "svchost.exe"
    });

    console.log(filtered);
    /* Returns an array with objects like this
    {
        imageName: 'svchost.exe',
        pid: '6969', // Nice number
        sessionName: 'Services',
        sessionNumber: '0',
        memUsage: '6.412 K',
        status: 'Unknown',
        username: 'N/A',
        cpuTime: '0:00:00',
        windowTitle: 'N/A'
    }
    */
})();

API usage

fetchAllProcesses(options, events);

.fetch(options: FetchingOptions | null, events?: FetchingEvents) => Promise<FetchedWindowsProcesses | WindowsProcess[]>;

Retrieves all active and inactive processes. The options are optional.

The options parameter has to be either null or FetchingOptions. Use null to skip this paramater.

filterFetchedProcesses(fetchedProcesses, filter);

.filter(fetchedProcesses: FetchedWindowsProcesses, filter: FilteringKeywords): FilteredWindowsProcesses | WindowsProcess[];

Filters one or more processes based on the given filter name.

The fetchedProcesses parameter is a reference to FetchedWindowsProcesses.
The filter parameter is a reference to FilteringKeywords object.

killProcessByPID(pid);

.killProcessByPID(pid: string | number, force?: boolean): Promise<ExecutionSignals | Error>;

Stops an active Windows process. If the process cannot be stopped, try forcing it.

The force parameter (boolean) is an optional parameter, forcing killing the process.

Examples

import tasklist, { IEnumeratedProcesses } from "better-tasklist";

(async function () {

    // Fetching active Windows processes the fast way.
    const normal: WindowsProcess[] = await tasklist.fetch({ verbose: false });

    // Fetching both all active and inactive Windows processes the slow way.
    const verbose: WindowsProcess[] = await tasklist.fetch({ verbose: true });

    console.log(`Retreived ${normal.length} non-verbose processes.`);
    console.log(`Retreived ${verbose.length} verbose processes.`);
})();
import tasklist, { FetchedWindowsProcesses } from "better-tasklist";

(async function () {

    const fetchedProcesses: FetchedWindowsProcesses = await tasklist.fetch({ verbose: false });

    const filteredProcesses = await tasklist.filter(fetchedProcesses, {
        imageName: "Discord.exe"
    });

    console.log(filter);
})();
import tasklist, { FetchedWindowsProcesses, WindowsProcess } from "better-tasklist";

(async function () {

    const fetchedProcesses: FetchedWindowsProcesses = await tasklist.fetch({ verbose: false });

    const filteredProcesses = await tasklist.filter(fetchedProcesses, {
        imageName: "Among us.exe"
    });


    filteredProcesses.forEach(function(windowsProcess: WindowsProcess) {

        tasklist.killProcessByPID(fetchedProcess.pid, true);
    });
})();

Help and other related things

If there are any bugs, or things that makes no sense (most likely), feel free to create an issue and I'll fix it.

  • Microsoft Windows CMD tasklist command.
  • Microsoft Windows CMD taskkill command.

Package Sidebar

Install

npm i better-tasklist

Weekly Downloads

7

Version

1.2.0

License

MIT

Unpacked Size

89.1 kB

Total Files

38

Last publish

Collaborators

  • babahgee