██████╗ ███████╗████████╗ ██████╗ ██████╗ ██╔══██╗██╔════╝╚══██╔══╝██╔═══██╗██╔══██╗ ██████╔╝███████╗ ██║ ██║ ██║██████╔╝ ██╔═══╝ ╚════██║ ██║ ██║ ██║██╔═══╝ ██║ ███████║ ██║ ╚██████╔╝██║ ╚═╝ ╚══════╝ ╚═╝ ╚═════╝ ╚═╝
Beautiful, fast, real-time system monitor for Windows. Built in Rust.
Install • Features • Keys • Themes • Config • License
If you've ever missed htop on Windows, your search is over. pstop brings the full htop experience to Windows PowerShell. No WSL, no Cygwin, no compromises.
| pstop | Task Manager | Get-Process |
|
|---|---|---|---|
| Real-time CPU per-core bars | ✅ | ❌ | ❌ |
| Memory / Swap / Network bars | ✅ | Partial | ❌ |
| Tree view (process hierarchy) | ✅ | ❌ | ❌ |
| Search & filter processes | ✅ | Basic | ❌ |
| Kill / change priority | ✅ | ✅ | Manual |
| Mouse support | ✅ | ✅ | ❌ |
| 7 color schemes | ✅ | ❌ | ❌ |
| Keyboard-driven | ✅ | ❌ | ❌ |
| Runs in terminal | ✅ | ❌ | ✅ |
| ~1 MB binary, zero dependencies | ✅ | N/A | N/A |
cargo install --git https://github.com/marlocarlo/pstopThis installs both pstop and htop commands. Yes, you can just type htop on Windows.
git clone https://github.com/marlocarlo/pstop.git
cd pstop
cargo build --release
# Binary at: target/release/pstop.exe + target/release/htop.exeIf you only installed pstop and want the htop alias in your PowerShell profile:
pstop --install-aliasThis adds Set-Alias htop pstop to your $PROFILE automatically.
Real-time CPU usage bars for every logical core, color-coded by usage type (user / system / virtual), exactly like htop.
- Mem bar: shows used (green), buffers (blue), cached (yellow)
- Swap bar: swap usage with color threshold
- Net bar: live RX/TX throughput in the header
Press F5 or t to toggle process tree view — see parent-child relationships with ├─ / └─ tree connectors, collapsible nodes with +/-.
- F3 - Incremental search: jumps to matching process
- F4 - Filter: hides all non-matching processes in real-time
- Main - Full process table (PID, USER, CPU%, MEM%, TIME+, Command...)
- I/O - Disk read/write rates per process
- Net - Network I/O focused view
Press F2 to open the setup menu with 4 categories:
- Meters - Configure header layout (CPU, Memory, Swap, Network, Tasks, Load, Uptime)
- Display Options - 14 toggleable settings (tree view, highlight basename, shadow other users, show threads, detailed CPU time, and more)
- Colors - Choose from 7 built-in color schemes with live preview
- Columns - Add/remove/reorder visible columns
Switch instantly in F2 > Colors:
- Default - Classic htop green/cyan on black
- Monochrome - Pure white on black
- Black Night - Muted tones for dark terminals
- Light Terminal - Optimized for light backgrounds
- Midnight Commander - Blue background, MC-inspired
- Black on White - Clean light theme
- Dark Vivid - High-contrast neon colors
- Click anywhere in the process table to select
- Click column headers to sort
- Click F-key bar buttons
- Click tabs to switch views
- Scroll wheel for navigation
Familiar htop keybindings — zero learning curve if you know htop.
All settings auto-save to %APPDATA%/pstop/pstoprc and restore on next launch. Your color scheme, display options, column choices, sort preference... everything persists.
- ~1 MB single binary (release build with LTO + strip)
- 50ms event polling for instant keyboard response
- Configurable refresh rate (200ms–10s)
- Native Win32 API calls for I/O counters, process priority, CPU affinity
- Zero runtime dependencies
| Key | Action |
|---|---|
F1 / ? |
Help screen |
F2 |
Setup menu (meters, display, colors, columns) |
F3 / / |
Search processes |
F4 / \ |
Filter processes |
F5 / t |
Toggle tree view |
F6 / > |
Sort by column |
F7 / F8 |
Decrease / Increase process priority (nice) |
F9 / k |
Kill process |
F10 / q |
Quit |
Tab |
Switch between Main / I/O / Net views |
Space |
Tag process |
c |
Tag process and children |
U |
Untag all |
u |
Filter by user |
p |
Toggle full command path / process name |
H |
Toggle show threads |
K |
Toggle hide kernel threads |
+ / - |
Expand / collapse tree node |
e |
Show process environment |
l |
List open handles (lsof equivalent) |
a |
Set CPU affinity |
I |
Invert sort order |
| Arrow keys | Navigate |
PgUp / PgDn |
Page through process list |
Home / End |
Jump to first / last process |
All 7 schemes affect every UI element — header bars, process table, footer, tabs, popups:
| Scheme | Best For |
|---|---|
| Default | Dark terminals (Windows Terminal, Alacritty) |
| Monochrome | Minimal / accessibility |
| Black Night | OLED / very dark terminals |
| Light Terminal | Light-themed terminals |
| Midnight Commander | Nostalgic blue background |
| Black on White | Maximum readability on light bg |
| Dark Vivid | High contrast, colorful |
Change schemes live: F2 > Colors > select > Enter. Preview updates in real-time.
Settings are saved automatically to:
%APPDATA%\pstop\pstoprc
Format: simple key=value (htoprc-style). Persisted settings include:
- Color scheme
- All 14 display options
- Visible columns
- Sort field & direction
- Update interval
- Tree view state
- OS: Windows 10 / 11 (x86_64)
- Terminal: Windows Terminal, PowerShell, cmd.exe, or any terminal with ANSI support
- Build: Rust 1.70+ (for building from source)
- Publish to crates.io (
cargo install pstop) - Pre-built binaries via GitHub Releases
- winget / scoop / chocolatey packages
- GPU monitoring
- Network per-process tracking
- Custom meter plugins
Contributions welcome! This is a Rust project using:
- ratatui 0.29 - TUI framework
- crossterm 0.28 - Terminal backend
- sysinfo 0.33 - System information
- windows 0.58 - Native Win32 APIs
git clone https://github.com/marlocarlo/pstop.git
cd pstop
cargo runMIT - use it, fork it, ship it.
Stop opening Task Manager. Type pstop or its aliases.
