witr
SHA-256witr 能回答“为什么这个程序在运行?”——把进程、端口、容器或文件的启动因果链完整追溯到源头,支持命令行、JSON 和交互式 TUI。
一句话讲清:任何进程/端口/容器/文件,一键查到底是谁启动的。
核心功能
- 追溯启动因果链:从进程/端口/容器/文件出发,找到它是由哪个服务、容器或命令拉起的
- 多种输出方式:纯文本、机器可读 JSON、交互式 TUI 仪表盘
- 跨平台支持:Linux、macOS、FreeBSD、Windows,单一静态二进制,包管理器覆盖广
- 在线沙箱试玩:浏览器里就能练习,无需安装
避坑指南
- •部分进程信息需要 root/管理员权限,否则可能看不到完整因果链;社区打包版本可能落后于 GitHub 最新版;如果你用容器或隔离环境,追踪链可能被截断;不要把它当成实时监控工具,它更偏一次性根因分析。
适用场景
- 排查线上奇怪进程:发现某个进程占满 CPU 或端口,快速找到是谁拉起的
- 容器 / 服务问题定位:搞清容器里进程的完整启动链,避免手动翻 systemd 和 docker 日志
详细介绍
witr 解决了一个传统工具(如 ps、lsof、ss)回答不了的问题:这东西为什么在运行?它不只会列出进程或端口,而是把因果链完整追溯出来——从 systemd 服务、容器、父进程一直到启动它的那条命令。支持追踪进程、端口、容器和文件,输出形式有可读文本、机器可读 JSON 和交互式 TUI 仪表盘。提供 Linux、macOS、FreeBSD、Windows 的单文件静态二进制,也有 Homebrew、Conda、AUR、Winget、npm、Debian 等包管理器安装方式,还可在浏览器里体验在线沙箱。相比手动交叉比对多个工具,witr 更快、更直观,专为运行中程序的根本原因分析而设计。
标签
快速上手
安装软件
双击下载的安装程序,按提示完成安装
打开系统终端(Linux/Mac 推荐用 curl,Windows 用 PowerShell)
运行安装命令:Unix 系统执行 curl -fsSL https://raw.githubusercontent.com/pranshuparmar/witr/main/install.sh | bash;Windows 执行 irm https://raw.githubusercontent.com/pranshuparmar/witr/main/install.ps1 | iex
也可以使用包管理器安装,如 brew install witr(macOS/Linux)或 winget install -e --id PranshuParmar.witr(Windows)
- 打开系统终端(Linux/Mac 推荐用 curl,Windows 用 PowerShell)
- 运行安装命令:Unix 系统执行 curl -fsSL https://raw.githubusercontent.com/pranshuparmar/witr/main/install.sh | bash;Windows 执行 irm https://raw.githubusercontent.com/pranshuparmar/witr/main/install.ps1 | iex
- 也可以使用包管理器安装,如 brew install witr(macOS/Linux)或 winget install -e --id PranshuParmar.witr(Windows)
已提供 SHA-256 校验码,下载后可自行核对文件完整性
该校验码提取自 GitHub 官方 Release 页面
SHA256 校验码
08fc46e3f80a374476f71d0d6e6579477cd98c6df5cc59d98224adf948f5ebf5该校验码提取自 GitHub Release 页面,下载后请自行核对文件完整性
本平台所有 SHA-256 校验码均提取自项目在 GitHub 官方 Release 页面发布的文件,未做任何修改。你可以通过 GitHub Releases 页面自行验证。
开源透明
查看 GitHub 源码卸载说明
使用包管理器安装的(如 brew uninstall witr、winget uninstall PranshuParmar.witr),直接用对应卸载命令即可;用安装脚本安装的,删除 /usr/local/bin/witr 和 /usr/local/share/man/man1/witr.1(Windows 下删除 %LocalAppData%\witr 目录并清理 PATH 中的条目)。
无额外依赖
下载后即可直接使用,无需安装其他运行环境