Linux pkill 命令使用详解

简介

pkill 命令用于根据进程名称、用户、组或其他属性终止进程。它是 procps-ng 包的一部分,通常比 kill 更受欢迎,因为它无需查找进程 ID (PID)

常用选项

  • -<signal>, --signal <signal>:定义要发送给每个匹配进程的信号,可以使用数字或符号信号名。

  • -c, --count:抑制正常输出,而是打印匹配进程的数量

  • -e, --echo:显示被终止的进程的名称和 PID

  • -f, --full:使用完整的命令行匹配

  • -g <group>:匹配列出的进程组 ID 中的进程

  • -i, --ignore-case:匹配进程不区分大小写

  • -l, --list-name:列出进程名称以及进程 ID

  • -n, --newest:仅选择最新的(最近启动的)匹配进程

  • -o, --oldest:仅选择最旧的(最近最少启动的)匹配进程

  • -P, --parent <ppid>:仅匹配列出了父进程 ID 的进程

  • -v, --inverse:反转匹配

  • -x, --exact:精准匹配

示例用法

通过名称终止进程

终止所有 Firefox 进程

pkill firefox
不区分大小写的匹配
pkill -i FiReFoX
终止以特定用户身份运行的进程
pkill -u username processname
终止某个用户的所有进程
pkill -u username
通过完整命令行终止进程

匹配完整的命令行而不是仅仅匹配进程名称

pkill -f "python my_script.py"
终止除特定进程之外的进程

终止除精确匹配之外的所有 bash 进程

pkill -v -x bash
平滑终止进程

不强制终止,而是发送 SIGTERM(默认)信号来终止

pkill -15 processname
或
pkill -SIGTERM processname
强制终止SIGKILL
pkill -9 processname
或
pkill -SIGKILL processname
重载配置
pkill -HUP processname
暂停进程
pkill -STOP processname
恢复进程
pkill -CONT processname
终止进程前确认

将列出 PID,但不会终止它们

pgrep processname
根据进程年龄进行杀戮

终止运行时间超过1小时的进程

# 终止最老的进程实例
pkill -o processname

# 终止最新的进程实例
pkill -n processname
使用正则表达式匹配

终止所有以 fire 开头的进程

pkill '^fire'
以交互方式终止进程
ps aux | grep processname
pkill processname
killpkillkillall 三者区别
  • kill:需要 PID

  • pkill:使用进程名称、部分匹配并支持正则表达式

  • killall:根据确切名称终止某个进程的所有实例

重启一个进程

重新加载 nginx 配置

pkill -HUP nginx
终止所有 Python 脚本
pkill -f python
按组终止进程
pkill -G groupname
以交互方式终止进程(执行前确认)
pgrep -a processname
pkill processname
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值