用 kill -CONT 命令可恢复被暂停进程;通过 PID(如 kill -CONT 1234)、shell 作业命令(fg/bg)或 pgrep 批量恢复;需注意权限限制及内核线程等特殊情况。

用 kill -CONT 命令即可恢复被暂停的进程,这是最直接、最通用的方法。
通过 PID 恢复指定进程
当进程因 SIGSTOP(如 kill -STOP 1234)或 SIGTSTP(如 Ctrl+Z)进入 T 状态 后,只需发送 SIGCONT 即可唤醒:
-
kill -CONT 1234—— 推荐写法,语义清晰 -
kill -18 1234—— 使用信号编号,效果相同
执行后可用 ps -o pid,stat,comm -p 1234 查看状态:若 STAT 列从 T 变为 R 或 S,说明已恢复运行。
恢复前台/后台作业中的进程
若进程是当前 shell 中通过 Ctrl+Z 暂停的,它会进入作业表(job table),此时不用 PID,直接用 shell 内建命令:
-
fg—— 恢复到前台继续执行(若只有一个暂停作业) -
bg—— 恢复到后台运行 -
fg %2或bg %2—— 指定编号为 2 的作业(用jobs查看编号)
批量恢复同名进程
若之前用 pgrep + kill -STOP 挂起了多个实例,可反向操作一键恢复:
- 恢复首个匹配进程:
kill -CONT $(pgrep -f "sleep" | head -n1) - 恢复所有匹配进程:
pgrep -f "sleep" | xargs kill -CONT
注意:pgrep -f 匹配完整命令行,比仅用进程名更准确;避免误恢复无关进程。
权限与限制须知
恢复操作同样受权限约束:
- 普通用户只能恢复自己启动的进程
- 要恢复其他用户(含 root)暂停的进程,需加
sudo:sudo kill -CONT 5678 - 内核线程(如
[kthreadd])或被调试器暂停的进程(状态为t),可能不响应SIGCONT


















