#端口 #进程 #结束 #命令行工具 #命令行参数 #Linux-MacOS #Linux

程序+库 killport

一个命令行工具,可以轻松结束在指定端口上运行的进程和容器

9 个版本 (2 个稳定版)

1.1.0 2024 年 5 月 31 日
0.9.2 2023 年 12 月 4 日
0.9.1 2023 年 7 月 25 日
0.6.0 2023 年 3 月 27 日

#300命令行工具 中排名

Download history 7/week @ 2024-04-26 714/week @ 2024-05-03 1/week @ 2024-05-10 202/week @ 2024-05-17 32/week @ 2024-05-24 596/week @ 2024-05-31 779/week @ 2024-06-07 408/week @ 2024-06-14 377/week @ 2024-06-21 172/week @ 2024-06-28 255/week @ 2024-07-05 492/week @ 2024-07-12 786/week @ 2024-07-19 668/week @ 2024-07-26 259/week @ 2024-08-02 550/week @ 2024-08-09

2,330 每月下载量

MIT 许可证

51KB
878 代码行

Stars Badge Forks Badge Pull Requests Badge Issues Badge GitHub contributors License Badge

killport

killport 是一个命令行工具,用于高效地终止在指定端口上监听的进程和容器。它支持单个或多个端口的操作,增强了 Linux、MacOS 和 Windows 平台的系统管理。使用 Rust 构建,killport 结合了灵活性和性能,以处理进程管理任务。

功能

  • 支持单个或多个端口,终止指定端口上的进程或容器。
  • 操作模式选项,可以选择针对进程、容器或两者。
  • dry-run 功能,可在实际终止前进行安全操作。
  • 可调节的详细日志记录和静默操作,以实现最小输出。
  • 全面的信号支持,可对发送给进程或容器的终止信号进行精细控制。
  • 跨平台兼容性:Linux、MacOS 和 Windows。

安装

使用 Homebrew

运行以下命令,使用 Homebrew 安装 killport

brew install killport

使用 install.sh

运行以下命令,自动下载和安装 killport

curl -sL https://bit.ly/killport | sh

如果尚未添加,请勿忘记将 $HOME/.local/bin 添加到您的 PATH 环境变量中。

使用 cargo

运行以下命令,使用 cargo 安装 killport。如果您没有 cargo,请遵循 官方 Rust 安装指南

cargo install killport

二进制发布版

您可以从 发布页面 下载不同架构的二进制发布版,并手动安装它们。

使用方法

killport [OPTIONS] <ports>...

标志

  • -m, --mode <MODE>:选择操作模式(进程、容器或两者)。
  • -s, --signal <SIG>:指定要发送的信号(默认:SIGKILL)。
  • -v, --verbose:增加详细程度(多次使用以获得更多详细信息)。
  • -q, --quiet:减少详细程度(多次使用以获得更少的详细信息)。
  • --dry-run:预览将要终止哪些进程或容器。
  • -h, --help:显示帮助信息。
  • -V, --version:显示版本信息。

示例

终止端口8080上的单个进程

killport 8080

使用特定信号终止多个端口上的进程

killport -s sigterm 8045 8046 8080

进行预演以检查端口8080上将要终止的内容

killport --dry-run 8080

支持的信号

  1. 最柔和/优先级较低的信号(通常可以忽略或默认为温和终止进程)

    • SIGUSR1 - 用户定义信号1
    • SIGUSR2 - 用户定义信号2
    • SIGWINCH - 窗口大小更改
    • SIGURG - 套接字上的紧急条件
    • SIGCONT - 继续如果已停止
    • SIGCHLD - 子进程状态已更改
    • SIGIO - I/O现在可能
    • SIGALRM - 计时器信号
    • SIGVTALRM - 虚拟计时器超时
    • SIGPROF - 性能计时器超时
    • SIGPWR - 电力故障
    • SIGSYS - 例程的坏参数
    • SIGPIPE - 破碎管道:向没有读者的管道写入
    • SIGTERM - 终止信号
    • SIGHUP - 在控制终端检测到挂起或控制进程死亡
    • SIGINT - 当用户希望中断进程时,由控制终端发送给进程的信号
  2. 较高优先级/更具破坏性的信号(通常不可忽略且通常默认为突然终止进程)

    • SIGQUIT - 从键盘退出并转储核心
    • SIGABRT - abort()的终止信号
    • SIGTSTP - 在终端上停止输入
    • SIGTTIN - 后台进程的终端输入
    • SIGTTOU - 后台进程的终端输出
    • SIGSTOP - 停止进程
    • SIGSEGV - 无效内存引用
    • SIGBUS - 总线错误(坏内存访问)
    • SIGFPE - 浮点异常
    • SIGILL - 非法指令
    • SIGTRAP - 跟踪/断点陷阱
  3. 最严重/最终信号(无法捕获或忽略)

    • SIGKILL - 杀死信号

贡献

我们欢迎对killport项目的贡献!在开始之前,请阅读我们的行为准则贡献指南

要贡献,请按照以下步骤操作

  1. 在GitHub上分叉存储库。
  2. 克隆您的分叉并为您的功能或错误修复创建一个新的分支。
  3. 根据我们的编码规范进行修改。
  4. 为您的修改添加测试,并确保所有测试通过。
  5. 按照我们的提交信息规范提交您的修改。
  6. 将您的修改推送到您的分支并创建一个拉取请求。

我们将审查您的拉取请求并提供反馈或合并您的更改。

许可证

本项目采用MIT许可证。有关更多信息,请参阅LICENSE文件。

依赖项

~13–27MB
~433K SLoC