用 fg 命令可将挂起的后台进程即时调回前台;需先按 ctrl+z 挂起进程,再用 jobs 查看作业编号,最后执行 fg %n(n为编号)恢复交互。

用 fg 命令就能把挂起的后台进程调回前台,操作简单、响应即时。
确认进程确实被挂起了
按 Ctrl+Z 后,进程会收到 SIGTSTP 信号并停止运行,同时退到后台。终端通常会显示类似这样的提示:
[1]+ Stopped vim notes.txt
这时它不是“在后台运行”,而是“在后台暂停”——必须先恢复才能继续交互。
查看当前有哪些挂起或后台作业
执行 jobs 命令,列出所有属于当前 shell 的作业:
-
jobs:只显示简略信息,如[1]+ Stopped vim -
jobs -l:带 PID 的详细列表,方便后续排查
注意方括号里的数字(如 [1])就是作业编号,后面要用到。
用 fg 调回前台
语法是 fg %N,其中 N 是 jobs 显示的作业编号:
-
fg %1:把编号为 1 的作业调回前台 -
fg %+或直接fg:调回最近一次挂起/后台的作业(标记为+的那个) -
fg %-:调回前一个作业(标记为-的那个)
执行后,终端立即交还给该进程,比如 vim 会重新进入编辑界面,ping 会继续输出结果。
常见情况处理
如果 fg 执行后没反应或报错,可能是以下原因:
- 作业已退出:
jobs列表里找不到对应编号,说明进程已终止 - 作业实际在后台运行而非挂起:比如用
&启动的,状态是Running而非Stopped,此时需先kill -STOP PID挂起,再fg - 当前 shell 未启用作业控制:极少见,可通过
set -o vi或set -o emacs确保交互模式正常











