Prock is a fast, graphical alternative to htop/btop, inspired by the Sysinternals Process Explorer. It shows a process tree, live system charts, per-process charts, and detailed inspectors for libraries, sockets, threads, and environment — with controls to suspend, kill, or reprioritize processes.
There are two ways to try it:
- Clone the repo and run the install script (provides a desktop entry and easy updates, so a bit more convenient).
- Download the single binary from the releases page.
- Filter by name, PID; Use '+' to filter to a subtree
- Sort by any column
- Choose the order and which columns to display
- Copy process info or entire table
- Kill
SIGTERM, force killSIGKILL, or kill entire process tree - Tree view or a sortable list showing parent-child relationships
- Set CPU affinity and nice priority
- Suspend
SIGSTOP/ resumeSIGCONTprocesses - Create a core dump (via
gcore) without terminating the process
- CPU usage (total, kernel, interrupts)
- Toggle to show per-core and stacked charts (per-core toggles the format for all views globally)
- Memory usage (used vs available)
- Disk I/O throughput (read/write MB/s)
- Network throughput (send/receive MB/s)
- Right-click any process to open:
- Charts (CPU, memory, I/O)
- Properties
- Loaded libraries with mapped/file sizes
- Memory maps with address, permissions, RSS/PSS/swap, and grouping by mapping
- Sockets
- Threads
- Open files (fd, type, access, size, path)
- Environment variables
- Double-click to open all windows at once
- System-wide view of listening ports
- Kill the owning process directly from the table
- Toggle "Auto-Follow" on all charts and tables (Space)
- Toggle continuous Y-axis auto-fit (Shift+Space)
- Per-core and stacked CPU chart views
- Zoom the UI in / out (Ctrl++ / Ctrl+-)
- Command palette for all actions (Ctrl+P)
- Vim-style navigation (Ctrl+J/K/H/L as Down/Up/Left/Right)
- Context menu for the selected table row (Ctrl+Enter)
- Menu bar, optionally shown only on Alt
- Themes: Dark, Light, Classic, Enemymouse, Nord, OneNord, Everforest Dark, Everforest Light
- Custom TTF font
- Adjustable window opacity, UI scale, target FPS, and update interval
The released prock binary targets glibc 2.17+, so it runs on most Linux distros.
It dynamically loads the libraries below, which are already present on a standard desktop install:
- glibc 2.17+ —
libc,libm,libpthread,libdl - OpenGL ES 2.0 + EGL —
libGLESv2.so.2,libEGL.so.1 - FreeType —
libfreetype.so.6 - A display backend, one of:
- X11 —
libX11.so.6libXcursor,libXi,libXrandr,libXinerama - Wayland —
libwayland-client.so.0,libwayland-cursor.so.0,libwayland-egl.so.1,libxkbcommon.so.0
- X11 —
Optionally, the "Create Dump File" action shells out to gcore (shipped with
gdb); install gdb to enable it.
On a minimal or headless system, install them explicitly:
Debian/Ubuntu:
sudo apt install libgles2 libegl1 libfreetype6 libx11-6 libxcursor1 libxi6 libxrandr2 libxinerama1 libwayland-client0 libwayland-cursor0 libwayland-egl1 libxkbcommon0Arch Linux:
sudo pacman -S mesa libglvnd freetype2 libx11 libxcursor libxi libxrandr libxinerama wayland libxkbcommonDebian/Ubuntu:
sudo apt install cmake gcc libwayland-dev libxkbcommon-dev xorg-dev libgles2-mesa-dev libfreetype-devArch Linux:
sudo pacman -Sy cmake gcc freetype2Install:
git clone https://github.com/matrohin/prock.git
cd prock
./scripts/install.shUpdate:
cd prock
./scripts/update.shcmake --preset debug
./scripts/build.sh
./build/Debug/prock
