当前位置: 首页 > ds >正文

pgrep和pkill命令详解

pgrep 与 pkill 命令详解

一、基础功能
命令作用核心机制
pgrep根据条件查找进程ID (PID)通过进程名、用户、终端等属性筛选进程,输出匹配的PID列表
pkill根据条件终止进程向符合条件的进程发送信号(默认发送SIGTERM,可指定其他信号)

二、基础语法
pgrep [options] <pattern> # 查找进程 
pkill [options] <pattern> # 终止进程
  • 模式匹配‌:支持正则表达式匹配进程名或完整命令行
  • 典型场景‌:批量管理同一类进程(如终止所有Nginx进程)

三、常用参数详解
1. 通用参数(适用于两者)
参数作用示例
-u按用户过滤pgrep -u root → 显示root用户的所有进程
-f匹配完整命令行(包含参数)pkill -f "python app.py" → 终止命令行含python app.py的进程
-x精确匹配进程名pgrep -x nginx → 仅匹配进程名为nginx的进程
2. pgrep 独有参数
参数作用示例
-l显示进程名和PIDpgrep -l sshd → 输出1234 sshd格式
-n仅显示最新启动的进程PIDpgrep -n chrome → 输出最近启动的Chrome进程PID
-o仅显示最早启动的进程PIDpgrep -o java → 输出最早启动的Java进程PID
3. pkill 独有参数
参数作用示例
-<信号>指定发送的信号pkill -9 nginx → 发送SIGKILL强制终止进程
-e显示终止的进程信息pkill -e -9 python → 显示被终止的Python进程详情

四、典型使用示例
  1. 查找进程

    pgrep -u apache httpd # 查找apache用户运行的httpd进程
    pgrep -d, -f "bash" # 用逗号分隔输出所有bash进程PID
  2. 终止进程

    pkill -u devuser node # 终止devuser用户的所有node进程
    pkill -HUP syslogd # 向syslogd进程发送SIGHUP信号(重载配置)
  3. 组合条件

    pgrep -u root,daemon -t tty1 # 查找root或daemon用户在tty1终端的进程
    pkill -e -9 -f "debug_mode" # 强制终止命令行含`debug_mode`的进程并显示详情

五、注意事项
  1. 权限限制

    • 终止其他用户的进程需root权限
    • SIGKILL(信号9)会强制终止进程且无法被捕获或忽略
  2. 模糊匹配风险

    • pkill python可能误杀包含python关键字的非目标进程,建议优先使用-x精确匹配
  3. 信号差异

    • SIGTERM(默认)允许进程清理资源,SIGKILL直接终止且可能导致资源未释放

六、关联命令对比
命令特点
kill需已知PID,适合精确操作单个进程
killall类似pkill,但默认要求精确匹配进程名(如killall nginx

通过pgreppkill,可快速实现进程的批量查询与管理,适用于自动化脚本和系统维护场景。建议优先使用pgrep验证匹配结果后再执行pkill,避免误操作。

http://www.xdnf.cn/news/2854.html

相关文章:

  • Dockerfile讲解与示例汇总
  • C#进阶学习(十六)C#中的迭代器
  • VASP 教程:VASP 结合 phonopy 计算硅的声子谱
  • Electron 入门指南
  • [minilibc] 库文件的调用放置
  • 案例篇:如何用tcpdump和Wireshark识别潜在威胁
  • 大学之大:韩国科学技术研究院2025.4.28
  • Python依据卫星TLE轨道根数,计算可见时间窗口
  • Web 基础与Nginx访问统计
  • SECS-I vs HSMS-SS vs HSMS-GS 通信控制对比明细表
  • TypeScript 实用类型深度解析:Partial、Pick、Record 的妙用
  • SQL常用数据清洗语句
  • Python爬虫学习路径与实战指南 02
  • 苍穹外卖10
  • React学习
  • Spring系列四:AOP切面编程第四部分
  • 计网分层体系结构(包括OSI,IP,两者对比和相关概念)
  • 免费LUT网站
  • 花费7元训练自己的GPT 2模型
  • 4月28日信息差全景:国际局势、科技突破与市场震荡一、国际政治与安全:俄乌冲突关键转折
  • 利用Python生成Xilinx FPGA ROM IP核 .coe初始化文件
  • Python面试问题
  • 贪心算法-2208.将数组和减半的最小操作数-力扣(LeetCode)
  • 遥控器的智能跟踪与多路径优化模块要点!
  • 【网络编程】TCP/IP四层模型、MAC和IP
  • MySQL 的ANALYZE与 OPTIMIZE命令
  • 使用 ELK 实现全链路追踪:从零到一的实践指南
  • pycharm 配置路径映射 将本地文件映射(mapping)到远程服务器上
  • [Spring] Seata详解
  • Missashe考研日记-day29