linux中挂起进程最常用方法是发送sigstop信号,语法为kill -stop ,进程状态变为t,可用kill -cont恢复;需权限匹配,内核线程等可能拒绝挂起。

在Linux中,将指定进程挂起(暂停执行)最常用的方法是向其发送 SIGSTOP 信号。该信号无法被忽略或捕获,能立即让进程进入暂停(Stopped)状态,且不终止进程,后续可恢复运行。
使用 kill 命令发送 SIGSTOP
语法简洁直接:
-
kill -STOP <pid></pid>—— 用进程ID挂起(推荐,语义清晰) -
kill -19 <pid></pid>—— 用信号编号19(SIGSTOP的数值)挂起
例如,挂起 PID 为 1234 的进程:
$ kill -STOP 1234
执行后可用 ps 或 top 验证状态:进程状态列(STAT)会显示 T(表示 Task is stopped)。
通过进程名快速挂起(需 pgrep + kill)
若只知道进程名(如 sleep),可组合命令一键挂起首个匹配进程:
在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...
$ kill -STOP $(pgrep -f "sleep" | head -n1)
注意:pgrep -f 匹配完整命令行,更准确;加 head -n1 避免误杀多个实例。如需挂起所有同名进程,去掉 head 并用 xargs:
$ pgrep -f "sleep" | xargs kill -STOP
挂起后如何恢复?
暂停的进程可通过 SIGCONT 信号继续执行:
-
kill -CONT <pid></pid>或kill -18 <pid></pid> - 若进程在前台运行(如终端中直接启动的),按
Ctrl+Z也会触发 SIGSTOP;之后输入fg(前台恢复)或bg(后台恢复)即等效于发送 SIGCONT
注意事项
挂起操作需要权限匹配:
- 普通用户只能挂起自己拥有的进程
- 要挂起其他用户的进程(包括 root 进程),必须以 root 身份执行,例如:
sudo kill -STOP 5678 - 内核线程(如
[kthreadd])和部分关键系统进程可能拒绝挂起,返回Operation not permitted










