| Crates.io | rust-port-kill |
| lib.rs | rust-port-kill |
| version | 2.2.0 |
| created_at | 2025-12-01 19:03:37.833352+00 |
| updated_at | 2025-12-22 04:09:53.499966+00 |
| description | A cross-platform command-line tool to manage listening ports and processes |
| homepage | |
| repository | |
| max_upload_size | |
| id | 1960401 |
| size | 105,083 |
一个跨平台命令行工具,用于管理和监控系统中的监听端口和进程。支持 Windows、macOS 和 Linux。
xcode-select --install)git clone https://github.com/yourusername/rust-port-kill.git
cd rust-port-kill
cargo build --release
编译后的可执行文件位于:
target/release/rpk.exetarget/release/rpkrpk
# 显示端口 8080 的详细信息
rpk --port 8080
# 使用短命令
rpk -p 8080
# 显示调试信息
rpk -p 8080 --debug
# 终止占用端口 8080 的进程(需要确认)
rpk --port 8080 --kill
# 使用短命令
rpk -p 8080 -k
# 查询UDP端口
rpk --port 53 --udp
# 终止UDP端口进程
rpk -p 53 -u -k
在终止进程时,系统会提供以下选项:
┌───────────┬────────────────────┬──────────┬────────┬───────────┬──────────┬─────────────────────────────────────┐
│ 端口 │ 监听IP │ 应用程序 │ 进程ID │ CPU使用率 │ 内存使用 │ 启动参数 │
├───────────┼────────────────────┼──────────┼────────┼───────────┼──────────┼─────────────────────────────────────┤
│ TCP:3000 │ 127.0.0.1 │ node.exe │ 270204 │ 4.1% │ 58.8 MB │ node index │
├───────────┼────────────────────┼──────────┼────────┼───────────┼──────────┼─────────────────────────────────────┤
│ TCP:8080 │ 0.0.0.0 │ java.exe │ 12345 │ 2.3% │ 256.5 MB │ java -jar app.jar │
├───────────┼────────────────────┼──────────┼────────┼───────────┼──────────┼─────────────────────────────────────┤
│ TCP:443 │ ::1 │ nginx.exe│ 67890 │ 0.8% │ 12.3 MB │ nginx.exe -c nginx.conf │
│ │ │ │ │ │ │ │
└───────────┴────────────────────┴──────────┴────────┴───────────┴──────────┴─────────────────────────────────────┘
共发现 3 个监听端口
找到 查询端口 8080 的TCP监听记录:
┌──────────┬────────────────────┬──────────┬────────┬───────────┬──────────┬────────────┐
│ 端口 │ 监听IP │ 应用程序 │ 进程ID │ CPU使用率 │ 内存使用 │ 启动参数 │
├──────────┼────────────────────┼──────────┼────────┼───────────┼──────────┼────────────┤
│ TCP:8080 │ 0.0.0.0 │ java.exe │ 12345 │ 2.3% │ 256.5 MB │ java -jar │
│ │ │ │ │ │ │ app.jar │
└──────────┴────────────────────┴──────────┴────────┴───────────┴──────────┴────────────┘
共发现 1 个监听记录
-p, --port <端口号>: 指定要查询的端口号-k, --kill: 强制终止占用指定端口的进程(需要与--port一起使用)-u, --udp: 查询UDP端口(默认查询TCP端口)-d, --debug: 显示调试信息,包括数据收集过程-h, --help: 显示帮助信息-V, --version: 显示版本信息# 查询TCP端口
rpk -p 8080
# 查询UDP端口
rpk -p 53 -u
# 终止TCP端口进程
rpk -p 8080 -k
# 终止UDP端口进程
rpk -p 53 -u -k
# 显示调试信息
rpk --debug
# 查询端口并显示调试信息
rpk -p 8080 --debug
权限管理:
sudo 运行--kill 选项前请谨慎确认,强制终止进程可能导致数据丢失权限不足错误
无法获取某些进程信息
[PID: xxx - 无命令行参数])编译错误
winapi 相关的依赖正确安装CPU使用率显示异常
内存使用量显示
netstat2 crate 获取网络连接信息(TCP/UDP)sysinfo crate 获取进程信息(跨平台)GetProcessMemoryInfo) 获取私有内存使用量sysinfo crate 获取内存信息tabled crate 实现美观的表格输出textwrap crate 支持长文本自动换行colored crate 提供彩色终端输出is_elevated crate 检测和自动提升权限is_elevated crate 检测权限,提示用户使用 sudotaskkill 命令,支持UTF-8编码kill -9 命令netstat2: 网络连接信息sysinfo: 系统进程信息wmi (Windows): Windows Management Instrumentationtabled: 表格显示textwrap: 文本换行colored: 彩色输出clap: 命令行参数解析anyhow: 错误处理--udp/-u 参数,支持查询和管理UDP端口