Moby 是 Docker 发起的开源容器项目,提供可组合的组件,用于构建自定义的容器系统。
pranshuparmar/witr
一款命令行与终端界面工具,可追溯进程、端口、容器或文件的启动来源链。
- Star
- 22,720
- Fork
- 892
- 未关闭 Issue
- 2
- 最近提交
- 昨天
这是什么?
witr 用于回答一个问题:这个进程、监听端口、容器或被占用的文件为什么会在运行。ps、lsof、ss、docker ps 等工具只能显示当前状态,无法说明它是如何被启动的。witr 会沿着父进程链以及 systemd、launchd、PM2、cron、SSH 会话、tmux、容器运行时等守护或管理系统向上追溯,列出负责该进程存在的完整链条。
可以用名称、--pid、--port、--file 或 --container 进行查询,输出包括启动链、启动来源、工作目录、Git 分支、套接字以及以 root 运行、监听公网地址等警告。输出支持简短、树形、详细和 JSON 格式,并定义了退出码,便于脚本和 CI 使用。不带参数运行则进入交互式 TUI,包含进程、端口、容器和文件锁四个标签页,在 Unix 系统上还可发送信号或调整优先级。
项目使用 Go 编写,为 Linux、macOS、Windows 和 FreeBSD 提供单一二进制文件,并支持多种包管理器安装。
核心功能
- 01沿父进程链和守护进程(如 systemd、launchd、PM2、cron、SSH)追溯进程的启动来源。
- 02支持按进程名、PID、监听端口、打开的文件或容器进行查询。
- 03覆盖 Docker、Podman、nerdctl、Kubernetes/crictl、Incus、LXC、LXD 及 FreeBSD jail。
- 04提供包含进程、端口、容器和文件锁标签页的交互式终端界面。
- 05可输出易读报告、简短或树形视图,或带文档化退出码的 JSON。
适用场景
- 开发服务器提示端口已被占用时,查看是哪个进程占用了它。
- 在线上事故中排查来历不明或卡住的进程。
- 确认某个运行中的端口属于哪个 Compose 服务或容器。
- 让 AI 编程代理通过 JSON 输出诊断端口和进程冲突。
快速上手
- 1
使用 Unix 安装脚本安装
按 README 中的官方说明安装 - 2
或使用 Homebrew 安装
brew install witr - 3
或从 Go 源码安装
go install github.com/pranshuparmar/witr/cmd/witr@latest
使用前须知
- 不同平台的安装方式不同,社区打包版本可能落后于 GitHub 发布版本。
标签
常见问题
- witr 是什么?
- 一款命令行与终端界面工具,可追溯进程、端口、容器或文件的启动来源链。 witr 用于回答一个问题:这个进程、监听端口、容器或被占用的文件为什么会在运行。ps、lsof、ss、docker ps 等工具只能显示当前状态,无法说明它是如何被启动的。witr 会沿着父进程链以及 systemd、launchd、PM2、cron、SSH 会话、tmux、容器运行时等守护或管理系统向上追溯,列出负责该进程存在的完整链条。
- witr 可以免费使用吗?用的什么许可证?
- witr 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- witr 还在维护吗?
- 活跃维护中。witr 最近一次提交是在 2026年10月19日。
- witr 适合用来做什么?
- 开发服务器提示端口已被占用时,查看是哪个进程占用了它。 在线上事故中排查来历不明或卡住的进程。 确认某个运行中的端口属于哪个 Compose 服务或容器。 让 AI 编程代理通过 JSON 输出诊断端口和进程冲突。
- witr 怎么安装和运行?
- 使用 Unix 安装脚本安装 或使用 Homebrew 安装: brew install witr 或从 Go 源码安装: go install github.com/pranshuparmar/witr/cmd/witr@latest
- 在哪里获取 witr?
- 源代码和安装说明在 GitHub 上:https://github.com/pranshuparmar/witr
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一个终端界面(TUI)工具,用于查看和控制 Docker 容器,可查看实时状态与日志。
跨平台的系统监控工具,可在终端或 Web 中查看 CPU、内存、磁盘、网络、进程和容器状态。
基于 Docker 的自托管迷你 Heroku,可在自有服务器上通过 git push 部署和管理应用。
Trivy 是一款开源安全扫描工具,可检测容器、文件系统、Git 仓库、虚拟机镜像和 Kubernetes 中的漏洞、配置问题与敏感信息。