Linux终止sh脚本,root权限秒停法

快速终止方法

Ctrl + C(前台进程)

  • 如果脚本正在终端前台运行(直接可见输出):
    • 按下组合键 Ctrl + C 立即终止进程。
    • 适用场景:脚本卡死或需手动中断。

Ctrl + Z + kill(暂停后终止)

  • Ctrl + C 无效:
    1. Ctrl + Z 暂停进程。
    2. 输入 jobs 查看暂停任务的编号(如 [1])。
    3. 终止任务:
      kill %1  # 将1替换为实际任务编号

通过进程ID(PID)终止

查找进程PID

  • 打开新终端,使用 pspgrep 定位进程:

    ps aux | grep "脚本名"  # ps aux | grep test.sh
    • 输出第二列为PID(如 12345)。
  • 或直接使用:

    pgrep -f "脚本名"      # pgrep -f test.sh

用 kill 命令终止

  • 根据PID发送终止信号:
    kill PID              # 默认发送SIGTERM(15),允许进程清理退出
  • 若进程未响应:
    kill -9 PID           # 发送SIGKILL(9)强制终止(慎用)

批量终止相关进程

终止同一脚本的所有进程

   pkill -f "脚本名"       # pkill -f test.sh
  • 或使用 killall
    killall -9 sh         # 终止所有sh进程(谨慎!可能影响其他脚本)

终止子进程

  • 若脚本启动了子进程(如 sleep):
    pkill -P 父进程PID     # 终止指定父进程的所有子进程

特殊场景处理

后台进程终止

  • 启动时添加 & 的脚本(如 sh test.sh &):
    1. jobs 查看后台任务编号。
    2. 终止任务:
      kill %任务编号      # 如 kill %1

进程无响应(僵尸进程)

  • kill -9 无效:
    1. 重启系统或结束父进程(如终端)。
    2. 检查进程状态:
      ps aux | grep defunct

注意事项

  1. 权限要求

    • 普通用户只能终止自己的进程。
    • 系统进程需 sudo 权限:
      sudo kill -9 PID
  2. 信号区别

    • SIGTERM(15):友好终止,允许保存数据。
    • SIGKILL(9):强制终止,可能导致资源未释放(最后手段)。
  3. 生产环境慎用 kill -9

    • 可能引发数据损坏,优先尝试 killpkill

总结步骤

  1. 尝试 Ctrl + C → 无效则用 Ctrl + Z + kill %任务号
  2. 查询PID:ps aux | grep "关键词"pgrep -f "关键词"
  3. 终止进程:kill PID → 顽固进程用 kill -9 PID
  4. 批量操作:pkill -f "脚本名"

引用说明参考Linux内核文档(kernel.org)及《Linux命令行与Shell脚本编程大全》中的进程管理规范,操作前请确认权限,避免误杀系统关键进程。

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

(0)
酷番叔酷番叔
上一篇 2025年7月15日 20:56
下一篇 2025年7月15日 21:08

相关推荐

  • 命令打开软件包,哪两种含义最易混淆?

    在计算机操作中,“打开软件包”通常指:一是解压并安装软件包文件,将其内容部署到系统中运行;二是使用包管理器查看软件包内容或元数据,而不进行实际安装。

    2025年7月14日
    2900
  • ADB命令如何快速启动安卓桌面?

    准备工作启用USB调试在安卓设备的「设置 > 关于手机」中连续点击「版本号」7次,激活开发者选项,进入「开发者选项」,开启「USB调试」,安装ADB工具从Android开发者官网下载ADB工具包,解压到电脑本地目录,连接设备用USB线连接安卓设备与电脑,在设备上授权调试请求,打开电脑终端(Windows……

    2025年7月21日
    3100
  • 电脑命令窗口怎么打开?全系统方法图解

    Windows:按Win+R输入cmd或powershell,或开始菜单搜索“命令提示符”。 ,macOS:Command+空格打开聚焦搜索,输入“终端”启动。 ,Linux:Ctrl+Alt+T快捷打开终端,或从应用程序菜单查找“Terminal”。

    2025年7月17日
    3100
  • 如何让命令执行更高效?

    核心原则:理解是执行的前提深度解析意图: 接到命令后,首要任务是精准理解,不仅要听清字面意思,更要主动探求背后的目标、背景和期望结果,可运用“5W2H”法提问(What, Why, Who, When, Where, How, How much),确保与发布者达成共识,明确关键要素: 确认命令的核心要求、截止时……

    2025年6月17日
    3700
  • 如何退出当前模式?

    系统根据当前运行模式自动匹配对应的退出指令,用户无需手动切换即可触发正确的退出流程,确保操作效率与准确性。

    2025年6月19日
    3400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信