witr(Why Is This Running?)进程诊断工具详解
2026-05-31
2026年05月
20260517-witr进程诊断工具.md
witr(Why Is This Running?)进程诊断工具详解
来源:群聊分享(菩提树)
整理时间:2026-05-17
标签:#witr #进程诊断 #系统运维 #安全审计 #命令行工具 #Go
一、项目概览
| 项目 |
信息 |
| 名称 |
witr(Why Is This Running?) |
| 定位 |
进程溯源诊断工具 |
| 解决的问题 |
“进程为什么在运行”,而非仅”正在运行什么” |
| 语言 |
Go |
| 协议 |
Apache-2.0 |
| 仓库 |
github.com/pranshuparmar/witr |
二、核心定位对比
| 工具类型 |
能回答 |
不能回答 |
| ps/top/lsof |
正在运行什么 |
为什么运行 |
| witr |
进程为什么运行 |
— |
witr 核心价值: 从目标进程 → 系统初始化进程(init/wininit),一键理清启动来源、父子关系、依赖服务、风险点。
三、核心功能
3.1 多维度定位目标
| 定位方式 |
示例 |
| 按进程名 |
witr nginx |
| 按 PID |
witr -p 1234 |
| 按监听端口 |
witr :80 |
| 按文件路径 |
witr -f /usr/bin/xxx |
3.2 进程详情全景展示
| 维度 |
内容 |
| 基础信息 |
用户、启动时间、工作目录、完整命令行 |
| 网络信息 |
IPv4/IPv6 监听地址、接口、端口 |
| 服务信息 |
Windows 服务名、systemd 单元、supervisor/pm2 管理 |
| 环境信息 |
环境变量(–env)、容器标识(Docker/K8s) |
3.3 递归溯源(最强功能)
目标进程 → 父进程 → 祖进程 → 系统初始化进程
| 溯源标注 |
| systemd、cron、shell、Docker、pm2、Windows 服务等 |
3.4 安全风险自动告警
| 风险类型 |
说明 |
| ⚠️ |
监听在公网/高危接口 |
| ⚠️ |
进程名与服务名不匹配(可疑) |
| ⚠️ |
无合法父进程/异常父进程 |
| ⚠️ |
容器逃逸/权限异常 |
3.5 交互模式(TUI)
| 功能 |
说明 |
| 实时进程列表 |
排序/过滤/搜索 |
| 端口视图 |
一键查看端口归属进程 |
| 进程树 |
展开/折叠父子关系 |
| 快捷操作 |
kill/terminate/暂停/恢复/renice |
| 鼠标支持 |
点击排序、切换面板 |
3.6 输出格式
| 格式 |
参数 |
适用场景 |
| 普通文本 |
默认 |
易读 |
| JSON |
--json |
程序解析 |
| 树形结构 |
--tree |
直观展示 |
| 无颜色 |
--no-color |
日志场景 |
四、常用命令速查
4.1 基础查询
# 按进程名查询(模糊匹配)
witr nginx
# 按 PID 查询
witr -p 1234
# 按端口查询
witr :80
# 精确匹配进程名
witr -x "nginx"
4.2 高级用法
# 显示环境变量
witr --env mysql
# JSON 输出(程序解析)
witr --json sshd
# 树形结构(直观)
witr --tree nginx
# 无颜色(日志场景)
witr --no-color nginx
4.3 交互模式
# 启动 TUI 交互界面
witr -i
五、适用场景
| 场景 |
说明 |
| 系统排障 |
进程莫名启动、端口被占用、服务异常 |
| 安全审计 |
恶意进程溯源、可疑服务排查、端口风险检查 |
| 容器/微服务 |
Docker 进程溯源、K8s 容器内进程分析 |
| 日常运维 |
理清复杂依赖、快速定位服务启动来源 |
六、项目优势
| 优势 |
说明 |
| 轻量 |
单静态二进制,无依赖,直接运行 |
| 跨平台 |
Linux/macOS/Windows/FreeBSD 一致体验 |
| 非侵入 |
只读分析,不修改系统状态 |
| 易集成 |
JSON 输出,可嵌入监控/自动化脚本 |
七、速查表
# ===== 基础查询 =====
witr nginx # 按进程名(模糊)
witr -p 1234 # 按 PID
witr :80 # 按端口
witr -x "nginx" # 精确匹配
# ===== 详细信息 =====
witr --env mysql # 显示环境变量
# ===== 输出格式 =====
witr --json sshd # JSON 输出
witr --tree nginx # 树形结构
witr --no-color nginx # 无颜色
# ===== 交互模式 =====
witr -i # TUI 交互界面
八、总结
witr = 进程溯源 + 安全告警 + 交互诊断,一站式解决”这个进程为什么在跑”的问题。
适用人群:
- 运维工程师
- 安全审计人员
- 开发者在排查进程问题时
本文由 AI 辅助整理,供技术学习参考。