portop

portop

查端口占用的htop式终端工具

系统官网

应用介绍

8080 又被占了,起服务直接报错。习惯做法是 lsof -i :8080 拿到一个 PID,再 ps 查这个 PID 是什么,如果它跑在 systemd 或 Docker 里还得接着翻——三四条命令下来才搞清楚是谁。portop 把这一串合成一屏:一个 htop 式的终端界面,每个端口背后是哪个进程、哪个 systemd 服务、哪个 Docker 容器一行看全,选中按一下就能杀掉、在浏览器打开或看详情

它回答的是 ss、netstat、lsof 只答了一半的问题——不只是"什么"绑在端口上,而是"谁"在用。表格实时刷新、按状态配色:LISTEN 绿、ESTABLISHED 蓝、刚打开的端口标琥珀色;22 直接显示成 ssh、443 显示成 https(从 /etc/services 解析)。systemd 单元和 Docker 容器是从 cgroups 里解出来的,不走 D-Bus、不用 Docker SDK、不需要额外的守护进程。要动手时:k 再 y 是 SIGTERM、f 是 SIGKILL,杀之前一定要确认,不会手一抖杀错;o 直接在浏览器打开 localhost:该端口;f 开始打字就实时按端口、进程名或 PID 过滤。Go 写的单文件,MIT 开源。

软件功能



端口到进程一屏看全:每一行显示端口、协议、状态、进程、CPU% 和远端地址,并解出所属的 systemd 单元和 Docker 容器,不用再 lsof 完再 ps。

systemd 与 Docker 感知:归属关系从 cgroups 解析,不依赖 D-Bus、Docker SDK 或额外守护进程,开箱就能认出容器和服务。

一键处置:k 然后 y(SIGTERM)或 f(SIGKILL)带确认地杀掉进程,o 在浏览器打开对应端口,c 复制当前行。

实时过滤与配色:输入即按端口、进程名或 PID 过滤;LISTEN/ESTABLISHED/刚打开分别配色,常见端口按 /etc/services 显示成 ssh、https 这样的名字。

进程详情与自适应:可查看命令行、可执行文件、工作目录、用户、内存、线程数和启动时间;终端变窄时优先丢掉最没用的列,窄到 80 列也不折行。