Skip to content

Repository files navigation

Prock - Process Explorer for Linux

CI License: MIT

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.

Prock per-process windows and ports view (Light theme)

Prock process tree with live system charts (Nord theme)

How to try it?

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.

Features

Process Monitoring

  • 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 kill SIGKILL, or kill entire process tree
  • Tree view or a sortable list showing parent-child relationships
  • Set CPU affinity and nice priority
  • Suspend SIGSTOP / resume SIGCONT processes
  • Create a core dump (via gcore) without terminating the process

System Charts

  • 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)

Per-Process Details

  • 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

Listening Ports

  • System-wide view of listening ports
  • Kill the owning process directly from the table

Charts & Navigation

  • 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

Appearance & Preferences

  • Themes: Dark, Light, Classic, Enemymouse, Nord, OneNord, Everforest Dark, Everforest Light
  • Custom TTF font
  • Adjustable window opacity, UI scale, target FPS, and update interval

Runtime Dependencies

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 + EGLlibGLESv2.so.2, libEGL.so.1
  • FreeTypelibfreetype.so.6
  • A display backend, one of:
    • X11libX11.so.6 libXcursor, libXi, libXrandr, libXinerama
    • Waylandlibwayland-client.so.0, libwayland-cursor.so.0, libwayland-egl.so.1, libxkbcommon.so.0

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 libxkbcommon0

Arch Linux:

sudo pacman -S mesa libglvnd freetype2 libx11 libxcursor libxi libxrandr libxinerama wayland libxkbcommon

Building

Dependencies

Debian/Ubuntu:

sudo apt install cmake gcc libwayland-dev libxkbcommon-dev xorg-dev libgles2-mesa-dev libfreetype-dev

Arch Linux:

sudo pacman -Sy cmake gcc freetype2

Install & Update

Install:

git clone https://github.com/matrohin/prock.git
cd prock

./scripts/install.sh

Update:

cd prock

./scripts/update.sh

Debug build & Run

cmake --preset debug
./scripts/build.sh
./build/Debug/prock

Releases

Contributors

Languages