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

相关推荐

  • Linux安全模式无法进入怎么办?

    当Linux无法进入单用户模式(runlevel 1/S)或救援模式(Recovery Mode)时,通常由以下核心问题导致:文件系统损坏: 根分区或关键目录(如/etc、/boot)出现错误内核/initramfs故障:内核镜像损坏或初始化内存盘(initramfs)配置错误引导加载器配置错误:GRUB参数传……

    2025年7月31日
    12400
  • Linux下vi编辑器如何保存文件?

    在Linux系统中,vi(或其增强版vim)是一款功能强大的文本编辑器,广泛应用于服务器管理、代码编写等场景,对于新手而言,掌握vi的保存操作是基础中的基础,但vi的模式切换和命令逻辑与图形化编辑器差异较大,容易让人困惑,本文将详细讲解Linux下vi保存文件的各种方法、适用场景及注意事项,帮助用户从入门到熟练……

    2025年9月19日
    12400
  • Linux命令行下如何翻页查看长文本内容?

    在Linux命令行操作中,处理长文本文件(如日志文件、配置文件、代码文件等)时,由于终端屏幕高度有限,无法一次性显示全部内容,因此需要翻页功能来逐页查看,常见的翻页方式主要通过more、less、cat结合管道等命令实现,不同工具的功能和操作方式有所差异,下面详细介绍具体使用方法,基础分页工具:more命令mo……

    2025年9月18日
    1.3K00
  • linux中如何放大终端字体大小

    Linux 终端中,可通过 Ctrl + Shift + +和`

    2025年8月9日
    10600
  • 如何在Linux系统中创建Oracle实例?

    在Linux操作系统上创建Oracle实例是一个涉及环境准备、软件安装、实例配置等多步骤的过程,需要严格遵循Oracle官方文档和最佳实践,以下以CentOS 7系统为例,详细说明从环境准备到实例创建的完整流程,环境准备在安装Oracle数据库软件前,需确保操作系统满足硬件和软件要求,并进行必要的系统配置,硬件……

    2025年9月16日
    9800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信