news 2026/8/2 20:10:21

【Linux 进程信号控制】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Linux 进程信号控制】

Linux 进程信号控制(kill/killall/pkill)核心总结

一、信号(Signal)核心概念

  1. 本质:发给进程的软件中断,用于报告事件(错误/外部操作),控制进程行为(终止/暂停/重启);
  2. 分类:Term(立即关闭)、Core(核心转储后终止)、Stop(暂停,可恢复);
  3. 指定方式:支持名称(-HUP/-SIGHUP)或编号(-1/-9),名称大小写不敏感。

二、常用信号速查表

编号短名称完整名称核心作用特点触发方式/典型场景
1HUPSIGHUP重新加载配置不终止进程,仅重读配置kill -1 进程PID(重启Nginx/Httpd配置)
2INTSIGINT键盘中断终止可被进程拦截/忽略Ctrl+C(终端终止前台进程)
3QUITSIGQUIT核心转储后终止生成内存映像(core文件),便于排错Ctrl+\(终端触发)
9KILLSIGKILL强制终止进程无法拦截/忽略,立即杀死(最强制)kill -9 进程PID(杀死无响应进程)
15TERMSIGTERM正常终止进程默认信号,允许进程清理资源kill 进程PID(不加信号默认TERM)
18CONTSIGCONT恢复暂停进程配合19/20使用kill -18 进程PID(恢复Ctrl+Z暂停的进程)
19STOPSIGSTOP强制暂停进程无法拦截/忽略kill -19 进程PID(强制暂停)
20TSTPSIGTSTP键盘暂停进程可被拦截/恢复Ctrl+Z(终端暂停前台进程)

三、进程信号操作命令(kill/killall/pkill)

1. kill(按PID发送信号,最基础)

  • 核心语法kill [-信号] 进程PID(无信号默认发15号TERM);
  • 关键参数kill -l(列出所有信号的名称/编号);
  • 示例
    kill-95199# 强制杀死PID=5199的进程kill-SIGTERM5205# 按名称发送终止信号(等价kill -15 5205)kill5205# 默认发15号信号,正常终止进程

2. killall(按进程名发送信号,批量操作)

  • 核心语法killall [-信号] 进程名(匹配命令名称批量处理);
  • 特点:无需查PID,直接按进程名操作,默认发15号TERM;
  • 示例
    killallcontrol# 终止所有名为control的进程(等价killall -15 control)killall-9 nginx# 强制杀死所有nginx进程

3. pkill/pgrep(按条件筛选+发送信号,精细化控制)

命令核心作用关键参数示例
pgrep按条件查找进程PID/名称-l(显示进程名+PID)、-u 用户名/UID(指定用户)pgrep -l -u bob(列出bob用户的所有进程名+PID)
pkill按条件发送信号给进程-U 用户名(指定用户)、-t 终端(指定终端)、-信号pkill -U user(终止user用户的所有进程)
pkill -9 -t pts/1(强制杀死pts/1终端的所有进程)

四、辅助命令(进程查询)

1. ps aux(查看所有进程详细信息)

  • 选项解析
    • a:显示所有用户的进程;
    • u:以用户为中心(显示用户名、CPU/内存占用率);
    • x:显示无控制终端的进程(后台进程);
  • 过滤用法ps aux | grep 关键词(筛选含指定关键词的进程),示例:
    psaux|grepjob# 查找所有含"job"的进程(命令/参数中包含)

2. 管道符(|)

  • 作用:将前一个命令的输出作为后一个命令的输入,实现“查询+筛选”联动。

五、核心运维原则

  1. 终止进程优先用15号TERM:允许进程清理资源(如保存数据),仅当进程无响应时用9号KILL;
  2. 重启配置优先用1号HUP:无需终止进程,直接重读配置(如Nginx/Httpd);
  3. 暂停进程区分19/20:19号STOP强制暂停(不可拦截),20号TSTP键盘暂停(可恢复);
  4. 批量操作优先killall/pkill:无需逐个查PID,按名称/用户批量处理,效率更高;
  5. 查询进程优先pgrep:精准筛选用户/终端/名称,避免grep过滤自身进程(可加grep -v grep排除)。

六、高频实操场景

  1. 重启Nginx配置:kill -1 $(pgrep nginx)(无需停止服务);
  2. 强制杀死无响应的Java进程:pkill -9 -f java(-f匹配命令行完整内容);
  3. 终止指定用户的所有进程:pkill -U test
  4. 恢复Ctrl+Z暂停的进程:jobs(查看暂停进程)→fg %1(前台恢复)/kill -18 进程PID
  5. 排查进程:pgrep -l -u root(列出root用户的所有进程名+PID)。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/30 23:22:33

探索式学习:通过技术实践掌握系统构建的底层原理实践

探索式学习:通过技术实践掌握系统构建的底层原理实践 【免费下载链接】build-your-own-x 这个项目是一个资源集合,旨在提供指导和灵感,帮助用户构建和实现各种自定义的技术和项目。 项目地址: https://gitcode.com/GitHub_Trending/bu/buil…

作者头像 李华
网站建设 2026/8/1 6:35:18

如何突破限制:Cursor Pro编程自由的账号重置工具解决方案

如何突破限制:Cursor Pro编程自由的账号重置工具解决方案 【免费下载链接】cursor-free-everyday 完全免费, 自动获取新账号,一键重置新额度, 解决机器码问题, 自动满额度 项目地址: https://gitcode.com/gh_mirrors/cu/cursor-free-everyday 问题引入&#…

作者头像 李华
网站建设 2026/7/31 0:09:44

开源大模型商业落地实战指南:从技术选型到ROI提升的全路径策略

开源大模型商业落地实战指南:从技术选型到ROI提升的全路径策略 【免费下载链接】mpt-7b 项目地址: https://ai.gitcode.com/hf_mirrors/mosaicml/mpt-7b 引言:当开源大模型遇上企业真实需求 企业数字化转型正面临前所未有的机遇与挑战。据Gartn…

作者头像 李华
网站建设 2026/7/30 1:29:05

AI图表生成工具革新:零代码可视化效率提升指南

AI图表生成工具革新:零代码可视化效率提升指南 【免费下载链接】next-ai-draw-io 项目地址: https://gitcode.com/GitHub_Trending/ne/next-ai-draw-io AI驱动的智能图表工具正彻底改变传统绘图流程,让零代码可视化成为现实。本文将深入探讨如何…

作者头像 李华
网站建设 2026/7/31 4:05:51

探索HoloISO实战:当AMD显卡遇见SteamOS

探索HoloISO实战:当AMD显卡遇见SteamOS 【免费下载链接】holoiso SteamOS 3 (Holo) archiso configuration 项目地址: https://gitcode.com/gh_mirrors/ho/holoiso 引言:PC变身Steam Deck的可能性 你是否曾经想过,将自己的普通PC转变…

作者头像 李华
网站建设 2026/7/31 2:24:53

AI语音转换神器:ebook2audiobook有声书制作全攻略

AI语音转换神器:ebook2audiobook有声书制作全攻略 【免费下载链接】ebook2audiobook Convert ebooks to audiobooks with chapters and metadata using dynamic AI models and voice cloning. Supports 1,107 languages! 项目地址: https://gitcode.com/GitHub_Tr…

作者头像 李华