Linux如何正确关闭进程?

通过进程ID(PID)关闭进程

查找目标进程的PID

  • 使用 ps 命令配合 grep 搜索:

    ps aux | grep "进程名"

    示例:关闭Firefox浏览器

    ps aux | grep firefox

    输出结果第二列为PID(如 12345)。

  • 使用 pgrep 快速获取PID:

    pgrep firefox  # 直接返回PID

使用 kill 命令终止进程

  • 温和终止(允许进程保存数据):
    kill PID        # 默认发送SIGTERM信号(15)
  • 强制终止(立即结束,无清理):
    kill -9 PID     # 发送SIGKILL信号(9)

    ⚠️ 风险提示:强制终止可能导致数据丢失,仅用于无响应进程。


通过进程名批量关闭进程

killall 命令

  • 终止所有同名进程:
    killall 进程名          # 默认SIGTERM
    killall -9 进程名       # 强制SIGKILL

    示例:关闭所有chrome进程

    killall chrome

pkill 命令

  • 支持模式匹配(如进程名、用户等):
    pkill "进程名"          # 默认SIGTERM
    pkill -9 -f "进程名"    # -f匹配完整命令

    示例:关闭所有包含node的进程

    pkill -f node

图形界面关闭进程

系统监视器(GUI工具)

  • 步骤:
    1. 打开系统监视器(Ubuntu:gnome-system-monitor,CentOS:xorg-x11-apps包)。
    2. 在“进程”选项卡中找到目标进程。
    3. 右键点击 → 选择“结束进程”或“强制结束”。

xkill 工具(针对无响应窗口)

  • 在终端输入:
    xkill

    鼠标会变成X图标 → 点击无响应窗口即可关闭。


高级工具管理进程

top / htop 动态监控

  • 操作步骤:
    1. 运行 top(或安装 htopsudo apt install htop)。
    2. k 键 → 输入要终止的PID → 选择信号(默认15)。
    3. Enter 确认终止。

systemctl 管理系统服务

  • 关闭系统服务进程:
    sudo systemctl stop 服务名   # 如nginx、mysql

⛔ 关键注意事项

  1. 信号区别
    • SIGTERM(15):请求正常退出,进程可清理资源(推荐首选)。
    • SIGKILL(9):强制终止,系统直接回收资源(仅用于顽固进程)。
  2. 权限要求
    • 用户只能关闭自己的进程。
    • 关闭系统级进程需 sudo 提权。
  3. 风险规避
    • 避免对系统关键进程(如systemdsshd)使用kill -9,可能导致系统不稳定。
    • 数据库或存储类进程优先尝试正常停止命令(如mysqladmin shutdown)。

问题排查技巧

  • 进程无法关闭? 检查权限:sudo kill PID
  • 进程反复重启? 可能是守护进程,需停止服务:sudo systemctl stop 服务名
  • 误操作恢复:立即保存工作,部分应用支持崩溃恢复(如LibreOffice)。

总结建议

  • 首选顺序:kill [PID]killall/pkillkill -9(最后手段)。
  • 图形界面用户优先使用系统监视器,操作直观安全。
  • 生产环境中慎用强制终止,避免数据损坏。

引用说明参考Linux man手册(man kill/man pkill)、Ubuntu官方文档及《Linux命令行与Shell脚本编程大全(第4版)》,实践方法已在Ubuntu 22.04/CentOS 7环境中验证。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6259.html

(0)
酷番叔酷番叔
上一篇 2025年7月5日 01:21
下一篇 2025年7月5日 01:47

相关推荐

  • 分区会清空Win7数据?

    选择适合的安装方案双系统共存(推荐)Linux与Windows 7分别安装在不同分区,开机时通过引导菜单选择系统,优势:独立运行互不干扰,硬件性能完全释放,注意:需预留至少20GB磁盘空间(建议50GB+),虚拟机安装(安全方案)使用VirtualBox/VMware在Win7内创建虚拟环境运行Linux,适用……

    2025年7月16日
    16100
  • linux 如何上传jdk

    Linux 中,可通过下载 JDK 安装包后使用 tar 命令解压

    2025年8月10日
    15100
  • 如何系统阅读Linux内核?源码分析与架构理解该从何入手?

    阅读Linux内核源码是深入理解操作系统原理、提升系统级编程能力的重要途径,但内核代码庞大复杂(仅主线代码就超千万行),需要系统的方法和耐心,以下从准备阶段、源码结构、核心模块、阅读工具及实践建议等方面,详细说明如何有效阅读Linux内核,阅读前的准备:基础与工具Linux内核是用C语言混合少量汇编编写的,且涉……

    2025年9月8日
    14100
  • 软中断如何提升系统性能?

    在Linux内核中,软中断(Softirq)是实现异步处理的核心机制,它负责高效处理网络数据包、块设备操作等对时效性要求高的任务,与硬件中断不同,软中断以内核线程形式运行,可被更高优先级的中断抢占,但不会嵌套自身,以下是其实现原理的深度解析:静态注册表Linux预定义了10种软中断类型(如网络收发包NET_RX……

    2025年6月13日
    17400
  • linux中如何打开终端窗口大小

    在Linux系统中,终端窗口大小的调整是日常操作中常见的需求,无论是为了适应不同分辨率的屏幕,还是为了优化代码阅读、命令输出的显示效果,掌握多种调整方法能显著提升使用效率,以下从图形界面、命令行快捷键、工具辅助及配置文件修改四个维度,详细介绍具体操作方式,图形界面直接调整(适合新手)在大多数Linux桌面环境中……

    2025年9月21日
    20700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信