rust-port-kill 1.0.0

A Windows command-line tool to manage listening ports and processes
rust-port-kill-1.0.0 is not a library.

Rust Port Kill (rpk)

一个专为 Windows 平台设计的命令行工具,用于管理和监控系统中的监听端口和进程。

功能特性

  • 📊 端口监控: 显示所有监听端口的详细信息
  • 🔍 详细信息: 展示端口占用、应用程序、进程ID、完整启动参数等
  • 📈 资源监控: 实时显示CPU和内存使用情况
  • 进程管理: 强制终止占用指定端口的进程
  • 🔒 管理员权限: 自动请求管理员权限以确保完整功能
  • 🎨 友好界面: 彩色输出和表格化显示
  • 📝 启动参数: 获取真实的命令行启动参数(使用wmic和PowerShell)

安装和使用

编译要求

  • Rust 1.70+
  • Windows 操作系统
  • Visual Studio Build Tools 或 Microsoft Visual Studio (用于MSVC工具链)

编译

git clone https://github.com/yourusername/rust-port-kill.git

cd rust-port-kill

cargo build --release

编译后的可执行文件位于 target/release/rpk.exe

使用方法

显示所有监听端口

rpk

显示指定端口详细信息

# 显示端口 8080 的详细信息

rpk --port 8080


# 使用短命令

rpk -p 8080

终止占用端口的进程

# 终止占用端口 8080 的进程(需要确认)

rpk --port 8080 --kill


# 使用短命令

rpk -p 8080 -k

输出示例

当前监听的端口:
┌────────┬─────────────────┬────────┬──────────┬─────────────┬─────────────────────────────────┐
│ 端口   │ 应用程序        │ 进程ID │ CPU使用率 │ 内存使用    │ 启动参数                           │
├────────┼─────────────────┼────────┼──────────┼─────────────┼─────────────────────────────────┤
│ TCP:8080 │ node.exe     │ 1234   │ 2.1%     │ 45.2 MB    │ "C:\Program Files\nodejs\node..." │
├────────┼─────────────────┼────────┼──────────┼─────────────┼─────────────────────────────────┤
│ TCP:3306 │ mysqld.exe    │ 5678   │ 8.7%     │ 156.8 MB   │ mysqld.exe --defaults-file=my...   │
└────────┴─────────────────┴────────┴──────────┴─────────────┴─────────────────────────────────┘

总结: 共发现 2 个监听端口

命令行选项

  • -p, --port <端口号>: 指定要查询的端口号
  • -k, --kill: 强制终止占用指定端口的进程(需要与--port一起使用)
  • -h, --help: 显示帮助信息
  • -V, --version: 显示版本信息

系统要求

  • Windows 10 或更高版本
  • 网络连接查询权限

权限管理: 程序会自动检测是否具有管理员权限,如果没有会提示用户提升权限。

安全注意事项

  • 程序会在启动时自动检测管理员权限,如果缺少权限会提示用户提升
  • 使用 --kill 选项前请谨慎确认,强制终止进程可能导致数据丢失
  • 建议在生产环境中使用前先在测试环境验证

故障排除

常见问题

  1. 权限不足错误

    • 确保以管理员身份运行命令提示符
    • 检查UAC设置是否允许程序提升权限
  2. 无法获取某些进程信息

    • 某些系统保护进程可能无法访问
    • 确保防火墙没有阻止程序的网络访问
  3. 编译错误

    • 确保安装了正确版本的Rust工具链
    • 检查是否安装了必要的Windows SDK

技术实现

  • 使用 Rust 语言开发
  • 通过调用 Windows 内置命令(netstat、tasklist、taskkill)获取系统信息
  • 支持TCP和UDP协议
  • 兼容性更强,避免复杂的 Windows API 调用
  • 自动权限管理,使用 is_elevated crate 检测和提升权限

许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。

贡献

欢迎提交 Issue 和 Pull Request!

作者