@GoJun315: After 20 years of using terminal tools, no one ever understood why a process was running. An independent developer from India open-sourced the witr tool, which skyrocketed to 15,400+ GitHub stars in less than five months! One command in the terminal traces the entire origin of a process — from kernel to systemd…

X AI KOLs Timeline Tools

Summary

An open-source terminal tool called witr, developed by an Indian independent developer, explains why a process is running, traces its origin from kernel to systemd, and includes an interactive TUI dashboard. It gained 15,400+ GitHub stars in less than five months.

After 20 years of using terminal tools, no one ever understood why a process was running. An independent developer from India open-sourced the witr tool, which skyrocketed to 15,400+ GitHub stars in less than five months! One command in the terminal traces the entire origin of a process — from kernel to systemd unit, from open ports back to the process that bound them. This chain used to require manual piecing together. - Suspicious processes, listening on public ports, memory consumption that has been silently running for months — all are actively flagged. - Built-in interactive TUI dashboard, no need to memorize command parameters. - Search by process name, PID, port, or file path, and results are output in plain English, not a bunch of incomprehensible technical jargon. GitHub: https://github.com/pranshuparmar/witr… Supports Linux, macOS, Windows, FreeBSD and other major systems. Developers and ops who often take over unfamiliar servers or troubleshoot online issues should definitely install it.
Original Article
View Cached Full Text

Cached at: 05/14/26, 04:40 PM

For 20 years, terminal tools have been around, yet no one could truly explain why a process was running. An independent developer from India has open‑sourced witr. In less than five months, it’s skyrocketed past 15,400+ GitHub Stars! One command in the terminal tells you the entire story of a process — from kernel to systemd unit, from an open port back to the process that bound it. This chain used to require manual piecing together.

  • Suspicious processes, ports listening on public interfaces, and memory hogs that have been silently running for months — all are flagged automatically.
  • Built‑in interactive TUI dashboard, no need to memorize command flags.
  • Search by process name, PID, port, or file path. Output is in plain English, not a stream of cryptic technical jargon.

GitHub: https://github.com/pranshuparmar/witr
Supports Linux, macOS, Windows, FreeBSD, and other mainstream systems.
If you often take over unfamiliar servers or troubleshoot production issues, this is worth installing.

PurposeInstallation • ✨ TUIFlagsExamplesPlatforms
GoalsCore ConceptOutput BehaviorSuccess CriteriaSponsors

2. Installation

witr is distributed as a single static binary for Linux, macOS, FreeBSD, and Windows.

witr is also independently packaged and maintained across multiple operating systems and ecosystems. An up-to-date overview of packaging status is available on Repology (https://repology.org/project/witr/versions). Please note that community packages may lag GitHub releases due to independent review and validation.

If you use a package manager (Homebrew, Conda, Winget, etc.), we recommend installing via that for easier updates. Otherwise, the install script is the quickest way to get started.

2.2 Package Managers

Homebrew (macOS & Linux)
You can install witr using Homebrew (https://brew.sh/) on macOS or Linux:
bash brew install witr

Conda (macOS, Linux & Windows)
You can install witr using conda (https://docs.conda.io/en/latest/), mamba (https://mamba.readthedocs.io/en/latest/), or pixi (https://pixi.prefix.dev/latest/) on macOS, Linux, and Windows:
``bash
conda install -c conda-forge witr

alternatively using mamba

mamba install -c conda-forge witr

alternatively using pixi

pixi global install witr
``

Arch Linux (AUR)
On Arch Linux and derivatives, install from the AUR package (https://aur.archlinux.org/packages/witr-bin):
``bash
yay -S witr-bin

alternatively using paru

paru -S witr-bin

or use your preferred AUR helper

``

Winget (Windows)
You can install witr via winget (https://learn.microsoft.com/en-us/windows/package-manager/winget/):
powershell winget install -e --id PranshuParmar.witr

NPM (Cross-platform)
You can install witr using npm (https://www.npmjs.com/package/@pranshuparmar/witr):
bash npm install -g @pranshuparmar/witr

FreeBSD Ports
You can install witr on FreeBSD from the FreshPorts port (https://www.freshports.org/sysutils/witr/):
``bash
pkg install witr

or

pkg install sysutils/witr
Or build from Ports: bash
cd /usr/ports/sysutils/witr/
make install clean
``

Chocolatey (Windows)
You can install witr using Chocolatey (https://community.chocolatey.org):
powershell choco install witr

Scoop (Windows)
You can install witr using Scoop (https://scoop.sh):
powershell scoop install main/witr

AOSC OS
You can install witr from the AOSC OS repository (https://packages.aosc.io/packages/witr):
bash oma install witr

GNU Guix
You can install witr from the GNU Guix repository (https://packages.guix.gnu.org/packages/witr/):
bash guix install witr

Uniget (Linux)
You can install witr using uniget (https://uniget.dev/):
bash uniget install witr

Aqua (macOS, Linux & Windows)
You can install witr using aqua (https://aquaproj.github.io/):
``bash

Add package

aqua g -i pranshuparmar/witr

Install package

aqua i pranshuparmar/witr
``

Brioche (Linux)
You can install witr using brioche (https://brioche.dev/):
bash brioche install -r witr

Prebuilt Packages (deb, rpm, apk)
witr provides native packages for major Linux distributions. You can download the latest .deb, .rpm, or .apk package from the GitHub releases page (https://github.com/pranshuparmar/witr/releases/latest).

  • Generic download command using curl:
    ``bash

Replace

curl -LO https://github.com/pranshuparmar/witr/releases/latest/download/
``

  • Debian/Ubuntu (.deb):
    ``bash
    sudo dpkg -i ./witr-*.deb

Or, using apt for dependency resolution:

sudo apt install ./witr-*.deb
``

  • Fedora/RHEL/CentOS (.rpm):
    bash sudo rpm -i ./witr-*.rpm

  • Alpine Linux (.apk):
    bash sudo apk add --allow-untrusted ./witr-*.apk

2.4 Run Without Installation

Nix Flake
If you use Nix, you can build witr from source and run without installation:
bash nix run github:pranshuparmar/witr -- --help

Pixi
If you use pixi (https://pixi.prefix.dev/latest/), you can run without installation on Linux or macOS:
bash pixi exec witr --help

3. Interactive Mode (TUI)

Running witr without any arguments or with the -i flag launches the Interactive Mode (TUI). This provides a real-time, terminal-based dashboard for exploring processes and ports.

Key Features:

  • Live Process List: Real-time view of all running processes with sorting and filtering.
  • Port View: Explore open ports and immediately see which processes are holding them.
  • Process Details: Deep-dive into a specific process to see its full ancestry tree, child processes, environment variables, working directory, and more.
  • Process Actions: Send signals (Kill, Terminate, Pause, Resume) or Renice processes directly from the UI.
  • Mouse Support: Navigate, sort columns, and click rows using your mouse.

5. Example Outputs

5.1 Name Based Query

bash witr node
Target : node Process : node (pid 14233) User : pm2 Command : node index.js Started : 2 days ago (Mon 2025-02-02 11:42:10 +05:30) Restarts : 1 Why It Exists : systemd (pid 1) → pm2 (pid 5034) → node (pid 14233) Source : pm2 Working Dir : /opt/apps/expense-manager Git Repo : expense-manager (main) Listening : 127.0.0.1:5001

5.3 Tree Output

bash witr --pid 143895 --tree
systemd (pid 1) └─ init-systemd(Ub (pid 2) └─ SessionLeader (pid 143858) └─ Relay(143860) (pid 143859) └─ bash (pid 143860) └─ sh (pid 143886) └─ node (pid 143895) ├─ node (pid 143930) ├─ node (pid 144189) └─ node (pid 144234)
Note: Tree view includes child processes (up to 10) and highlights the target process.

5.5 File Based Query

bash witr --file /var/lib/dpkg/lock
Explains the process holding a file open.

—– [port: 5432] —–
Target : postgres
Process : postgres (pid 891)

—– [pid: 1234] —–
Target : node
Process : node (pid 1234)

``
All target flags are repeatable and can be mixed. Results appear in the order you typed them. All output modes (--short, --tree, --json, --env, --warnings, --verbose) work with multiple inputs.

5.1 Feature Compatibility Matrix

FeatureLinuxmacOSWindowsFreeBSDNotes
Process Selection
By Name
By PID
By Port
By File
Multiple/mixed inputsRepeatable flags, mixed types.
Exact Match
Full command line
Process start time
Working directory
Environment variables⚠️macOS: Partial support due to SIP restrictions.
Network
Listening ports
Bind addresses
Port → PID resolution
Service Detection
Service ManagerLinux: systemd, macOS: launchd, Windows:

Similar Articles

@0xQiYan: Guys, if your terminal is still stuck with black text on a white background, you're missing out big time! This open-source gem called ohmyzsh, with 188K stars on GitHub, is built by over 2,500 programming experts worldwide. The highlight is that it packages nearly a complete development and operations terminal ecosystem. It comes with over 300…

X AI KOLs Timeline

Introduces ohmyzsh, an open-source terminal enhancement tool with 188K GitHub stars. It includes over 300 plugins and 150+ themes, supporting command completion, aliases, error correction, and more, suitable for developers and system administrators.

pranshuparmar/witr

GitHub Trending (daily)

witr is a CLI tool that traces the causality of running processes, services, and ports, explaining why they are running in a single, human-readable output or interactive TUI dashboard.

@grgerwcwetwet: Recommend a very hardcore network tool tutorial project on GitHub: fanqiang. From how to install common clients, to registering a US Apple ID, VPS basics, soft router configuration, and usage tutorials for different systems, it's all organized into beginner-friendly steps. Covers Windows, macOS, Linux…

X AI KOLs Timeline

Recommend a very hardcore network tool tutorial project on GitHub: fanqiang, covering client installation, account registration, VPS configuration, across Windows/macOS/Linux/Android/iOS all platforms, updated for nearly a decade, with 40k+ Stars.

@cevenif: Found a gem on GitHub: TaskExplorer - Professional process analysis tool. Click any process, thread stacks, memory, file handles, network sockets all laid out for you in one screen. Disk read/write positions, network speed refresh in real time, and you can directly inject or unload DLL modules. This feature density, Task Manager can't even compare...

X AI KOLs Timeline

TaskExplorer is an open-source process analysis tool that provides professional features such as thread stacks, memory editing, file handles, network sockets, etc. It supports DLL injection/unloading, is based on Qt and the SystemInformer driver, and is suitable for Windows system monitoring and performance troubleshooting.