explaingit

pranshuparmar/witr

15,467GoAudience · ops devopsComplexity · 2/5Setup · easy

TLDR

A command-line tool that shows why a process or network port is running, tracing the full chain from container to supervisor, in one readable report or interactive terminal dashboard, replacing several monitoring commands at once.

Mindmap

mindmap
  root((witr))
    What it does
      Process inspection
      Startup chain trace
      Why is it running
    Interfaces
      Text report
      Interactive TUI
      CLI flags
    Supported platforms
      Linux
      macOS
      FreeBSD
      Windows
    Installation
      Homebrew
      Conda
      Winget
      Install script
    Audience
      DevOps engineers
      SREs
      Server admins
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Find out which service or container started an unexpected process that is holding a port on your server.

USE CASE 2

Trace the parent chain of a process consuming CPU or memory to identify which supervisor is responsible.

USE CASE 3

Use the interactive TUI dashboard to explore and monitor running processes across system layers without juggling multiple commands.

Tech stack

Go

Getting it running

Difficulty · easy Time to first run · 5min

In plain English

witr is a command-line tool that answers a single question about a running computer process: why is this running? When a program, service, or something listening on a network port is alive on a machine, there is always a reason, but it is often hidden across several layers, like a supervisor that launched a container that launched a service that opened a shell. The usual Unix tools (ps, top, lsof, ss, systemctl, docker ps) show what is running, but make you piece together the why by jumping between their outputs. witr collapses that detective work into one report. You point it at a running thing and it explains where it came from, how it was started, and the chain of systems responsible for keeping it alive, presented as a human-readable text dump or as an interactive terminal dashboard (a TUI, short for text user interface). The README organizes the tool by purpose, installation, the TUI mode, flags, example outputs, supported platforms, design goals, and the core idea behind making causality explicit. It ships as a single static binary with no runtime dependencies and includes a man page on Unix-style systems. You would use witr when something on a server is consuming resources, holding a port, or behaving unexpectedly, and you want a plain explanation of how it got there rather than juggling multiple monitoring commands. It is written in Go and runs on Linux, macOS, FreeBSD, and Windows. Installation works through an install script or through package managers including Homebrew, Conda, the Arch User Repository, Winget, npm, FreeBSD Ports, Chocolatey, Scoop, AOSC OS, and GNU Guix, with status tracked on Repology. The full README is longer than what was provided.

Copy-paste prompts

Prompt 1
I have a process running on port 8080 and I don't know what started it. Show me the witr command to trace its full startup chain.
Prompt 2
I see a suspicious process in top with PID 1234. Using witr, how do I find out how it was launched and what is keeping it alive?
Prompt 3
Show me how to launch witr's TUI mode on a Linux server to interactively explore the parent chain of running processes.
Prompt 4
Walk me through installing witr on macOS with Homebrew and give me the command to investigate a process by name rather than PID.
Open on GitHub → Explain another repo

← pranshuparmar on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.