bg命令仅能恢复当前shell中被ctrl+z挂起且状态为stopped的作业;需先用jobs确认状态,再用bg或bg %n恢复,不可用于已终止、前台运行或新启动的任务。

用 bg 命令让暂停的后台任务继续执行,核心前提是:这个任务必须是已被 Ctrl+Z 暂停、且当前处于 Suspended(挂起)状态 的作业。它不能是已终止、正在前台运行或从未被挂起的任务。
确认任务处于挂起状态
先按 Ctrl+Z 暂停一个前台命令(比如 sleep 600),终端会显示类似:
^Z<br>[1]+ Stopped sleep 600
然后运行 jobs 查看所有作业:
$ jobs<br>[1]+ Stopped sleep 600
只要看到状态是 Stopped,就说明它已挂起,可以被 bg 恢复。
基本用法:恢复最近挂起的任务
直接输入 bg(不带参数),Shell 会自动恢复最近一次挂起的作业(即 jobs 输出中带 + 号的那个):
-
bg→ 恢复默认作业(通常是%1或%2中带 + 的那个) - 执行后终端会显示类似:
[1]+ sleep 600 &,表示已在后台运行 - 再运行
jobs,状态会变成 Running
指定恢复某个挂起任务
当有多个挂起任务时,用作业号精准控制:
-
bg %1→ 恢复作业号为 1 的任务 -
bg %2→ 恢复作业号为 2 的任务 - 作业号来自
jobs输出的第一列数字,前面带%是标准写法 - 注意:不是进程 PID,也不是
ps里的编号
常见误区提醒
bg 不适用于以下情况:
- 任务已退出或被
kill终止 → 它不在jobs列表里 - 任务还在前台运行 → 先按
Ctrl+Z挂起,再用bg - 想让新命令直接后台运行 → 应该用
command &,而不是bg - 终端已关闭或会话断开 →
bg只对当前 Shell 有效;长期后台建议用nohup command &











