tasklist

Crates.iotasklist
lib.rstasklist
version0.3.1
created_at2022-06-23 14:57:00.266789+00
updated_at2025-06-01 13:22:04.942+00
descriptionGet the tasklist and process information on windows
homepage
repositoryhttps://github.com/yalishandar/tasklist-rs
max_upload_size
id611918
size407,272
tkos (yalishandar)

documentation

https://docs.rs/tasklist/latest/tasklist/

README

tasklist

tasklist-rs

a small crate let you can easily get tasklist and process information on windows

what information you can get

  1. Process name,pid,parrentID,threadsID.
  2. Process start_time,exit_time,and CPU_time(including kernel time and user time).
  3. Process path and commandline params.
  4. Process SID and Domain/User.
  5. Process IO infomation , including all of IO_COUNTERS member.
  6. Process memory information , including all of PROCESS_MEMORY_COUNTERS member.
  7. Process handles information , use GetProcessHandleCount Api.
  8. Process file infomation , use GetFileVersionInfoExW Api.
  9. Check whether the process is running in the WOW64 environment and get architecture info (x86/x64/ARM etc.)
  10. Iterate over all processes.
  11. Process termination functionality.

remember some infomation need higher privilege in some specific windows versions

example

Get all process pid , process name and user .

use tasklist;

fn main(){
   
    let tl = tasklist::Tasklist::new().unwrap();
    tasklist::enable_debug_priv();
    for i in tl{
        println!("{} {} {}",i.get_pid(),i.get_pname(),i.get_user());
    }
}

tasklist-rs

Get all process name , pid , company name , file description.

use tasklist;

fn main(){
    let tasks = tasklist::tasklist().unwrap();
    for i in tasks {
        match i.get_file_info(){
            Ok(info) => println!("{:?}", info.get("FileDescription")),
            Err(_) => (),
        }
    }
}

tasklist-rs

Usage

Add this to your Cargo.toml:

[dependencies]
tasklist = "0.3.1"
Commit count: 32

cargo fmt