
在 Linux 的世界里,有些命令表面平平无奇,却蕴含巨大的能量。 今天我们要讲的,就是一条能让进程瞬间"静止"的命令:
kill -STOP。尤其在应急时,如发现了恶意进程,为防止恶意其外连、进一步系统破坏遏制其影响,但这时又不能暴力结束进程(如果恶意程序是内存加载结束进程会导致无法分析)的情况下,"冷冻"这个进程是最佳的处置方式。
kill 并不只是"杀死"进程很多人以为 kill 就是"强制终止程序"。 但实际上:
kill的作用是:向进程发送一个信号(signal)。
在 Linux 中,信号是内核与进程通信的方式。 常见信号如下 👇:
2 | ||
9 | ||
15 | ||
19 | SIGSTOP | |
18 | SIGCONT |
所以,kill 并不总是"杀死进程", 有时它只是在轻声说一句——"先停一停"。
kill -STOP假设你有一个高 CPU 占用的程序,可以直接用:kill -STOP <PID>
来挂起(暂停)它。 被挂起的进程会立即停止运行,不再消耗 CPU。
要恢复,只需:kill -CONT <PID>
✅ 就能继续执行,完全无损。
新建脚本 loop.sh:#!/bin/bashi=1whiletrue; doecho"Running... $i" ((i++)) sleep 1done
给执行权限并运行:chmod +x loop.sh./loop.sh
你会看到


kill -STOP 12345输出立刻停止!查看状态:ps -o pid,stat,cmd -p 12345
输出:

T 表示进程被 挂起(Stopped)。

kill -CONT 12345程序继续输出:


是不是有点像按下了"暂停 / 继续播放"的按钮? 🎬
sudo kill -STOP <PID># 一段时间后sudo kill -CONT <PID>配合 strace、gdb 使用,可冻结目标程序以便分析。
sudo kill -STOP $(pidof mysqld)sudo kill -CONT $(pidof mysqld)SIGTSTP | ||
SIGSTOP |
!!! Ctrl+Z 是"礼貌的请求", 而
kill -STOP是"系统的命令"。
kill -STOP PID | ||
kill -CONT PID | ||
ps -o pid,stat,cmd -p PID | T 表示暂停 |
kill -stop 就像应急侠🦸的冷冻🥶魔法术🪄: 它不会杀死进程,却能瞬间被冰冻,防止它对系统进行进一步破坏,同时应急侠🦸可以把恶意程序进行分析找到恶意特征、溯源等操作。
#Linux基础#信号机制#进程管理#系统调试