当前位置:首页>Linux>Linux命令每日一清单004:pkill--终止进程命令速查表

Linux命令每日一清单004:pkill--终止进程命令速查表

  • 2026-09-10 16:47:24
Linux命令每日一清单004:pkill--终止进程命令速查表

pkill是Linux系统中强大的进程管理工具,它允许用户通过进程名、用户名、终端或完整的命令行模式来发送信号给匹配的进程。与传统的kill命令需要指定PID不同,pkill可以通过模式匹配的方式批量操作进程,大大提高了进程管理的效率。

作为procps工具包的一员,pkill基于/proc文件系统提供的进程信息进行匹配,支持正则表达式和精确匹配等多种模式。它特别适合在脚本中管理服务、批量终止进程、优雅重启守护进程等场景。需要注意的是,pkill的强大匹配功能也意味着需要谨慎使用,避免误终止关键进程。

1. 基本语法

命令说明
pkill 进程名
发送SIGTERM信号给匹配的进程
pkill -f "模式"
基于完整的命令行匹配
pkill -u 用户名 进程名
仅匹配指定用户的进程
pkill -x 进程名
精确匹配进程名
pkill -l 进程名
终止进程并显示名称和PID

2. 常用信号

命令说明
pkill -15 进程名
优雅终止(SIGTERM,默认信号)
pkill -9 进程名
强制终止(SIGKILL)
pkill -HUP 进程名
重新加载配置(常用于守护进程)
pkill -INT 进程名
中断进程(SIGINT,类似Ctrl+C)
pkill -USR1 进程名
发送用户自定义信号1

3. 匹配控制

命令说明
pkill -x nginx
仅终止精确名为nginx的进程
pkill -f "python3 app.py"
匹配特定的命令行字符串
pkill -u deploy -x node
仅终止用户deploy下名为node的进程
pkill -t pts/2
终止指定终端上的进程
pkill -P 1234
终止PID 1234的子进程

4. 安全操作流程

命令说明
pgrep -a nginx
预览匹配的进程和命令行
pgrep -afu deploy node
预览指定用户的完整命令行匹配
pgrep -f "python3 app.py"
先确认完整模式匹配结果
pkill -x nginx
确认无误后执行终止
echo $?
检查退出码(0:有匹配,1:无匹配)

5. 服务和应用示例

命令说明
pkill -HUP nginx
优雅重载Nginx配置
pkill -u www-data -x php-fpm
停止指定用户的php-fpm进程
pkill -f "gunicorn: worker"
向Gunicorn工作进程发送信号
pkill -f "node server.js"
终止特定的Node.js应用实例
pkill -x firefox
关闭当前用户的所有Firefox进程

6. 故障排查指南

问题解决方法
命令执行后无反应
先用 pgrep -a 相同模式 验证是否有匹配进程
误终止了错误进程
使用 -x 精确匹配或更严格的 -f 模式
操作不允许
使用 sudo 或切换为进程所有者执行
进程没有终止
先用SIGTERM,必要时再升级到 -9 强制终止
脚本中无匹配时失败
处理退出码1(无匹配)作为正常条件

温馨提示:

 pkill是一把双刃剑——它既强大又危险。在生产环境中操作前,务必先用pgrep预览匹配结果。对于关键服务,建议使用-HUP优雅重载而非直接终止。在脚本中使用时,记得检查退出码并做好错误处理。

本文PDF格式下载:

  关注公众号(haopython),请回复: LLT004

最新文章

随机文章