fg命令可将挂起的后台任务调回前台继续执行,不重启进程;按ctrl+z后显示“[1]+ stopped command”即确认挂起,jobs列出作业,fg、fg %1、fg %name等可恢复指定任务。

用 fg 命令就能把挂起的后台任务调回前台。它不重启进程,只是恢复控制权,让你能继续交互或观察输出。
怎么确认任务已被挂起
执行命令后按 Ctrl+Z,终端会显示类似这样的提示:
[1]+ Stopped sleep 100
这说明进程已暂停并进入后台作业队列。此时它没退出,只是停住了。
运行 jobs 可以列出所有挂起或后台运行的任务:
-
jobs—— 显示编号、状态(Stopped/Running)和命令 -
jobs -l—— 同时显示对应进程 PID
用 fg 调回前台的几种方式
fg 支持多种参数写法,按常用程度排列:
-
fg(无参数)—— 恢复最近一次挂起或放入后台的任务 -
fg %1—— 恢复作业编号为 1 的任务(编号来自jobs输出) -
fg %top—— 恢复命令以top开头的任务 -
fg %?log—— 恢复命令中包含log的任务 -
fg %+或fg %%—— 等同于无参数,恢复最新作业 -
fg %-—— 恢复倒数第二个作业
常见问题与注意点
调回前台后,进程会从暂停处继续运行,并重新占用终端:
- 如果原命令需要键盘输入(如提示输入密码或文件名),现在可以正常响应
- 按 Ctrl+C 仍可终止它,就像最初在前台运行时一样
- 若任务是用
&直接后台启动的(未被挂起),fg也能调回,但需确保它没脱离终端控制(否则可能报错 “No such job”) - 一旦终端关闭,即使任务在后台运行过,也会因 SIGHUP 被终止——这时要用
nohup、screen或tmux来真正保活
一个完整的小例子
假设你误按 Ctrl+Z 暂停了 vim notes.txt:
-
^Z→ 显示 [1]+ Stopped vim notes.txt -
jobs→ 确认作业编号是%1 -
fg %1或直接fg→ vim 立刻回到前台,光标回到编辑界面











