fg指令是Linux下常用的指令之一。fg指令用于将后台运行的或挂起的任务(或作业)切换到前台运行。如果后台有多个命令执行时,可以用fg+后台的作业弓指令调至前台继续运行

外文名

foreground

简 称

fg

用 途

在前台运行作业

类 型

LINUX命令之一

语 法

fg [JobID]

简介

'FG'解释:foreground

描述:如果作业控制启用了(请参阅《AIX 5L V5.2 系统用户指南:操作系统与设备》中的『Korn Shell 中的作业控制』),fg 命令移动当前环境中的后台作业到前台来。使用 JobID 参数来指明在前台下要运行的特定作业。如果此参数没有提供,fg 命令使用最近在后台被暂挂的作业,或者作为后台作业运行。

用途:fg指令用于将后台运行的或挂起的任务(或作业)切换到前台运行。如果后台有多个命令执行时,可以用fg+后台的作业弓指令调至前台继续运行。 

语法:fg [JobID]

JobID 参数可以是进程的标识号,或者您可以使用如下的符号组合:

%Number 通过作业编号引用作业。

%String 引用名称以特定字符串开头的作业。

%?String 引用名称中包含特定字符串的作业。

%+ OR %% 引用当前作业。

%- 引用前一个作业。

使用 fg 命令把作业放到前台将导致从列表中除去作业进程的标识符,此列表是那些当前外壳环境所知道的。 [2] 

/usr/bin/fg 命令在它自己的命令执行环境下操作时不工作,因为此环境没有可使用的合适的作业。因为这个原因, fg 命令作为 Korn 或者 POSIX 外壳常规内置命令被执行。

退出状态

下列出口值被返回:

0 成功结束。

>0 发生错误。

如果禁用作业控制, fg 命令将出错退出,前台不放任何作业。

示例

如果 job -l 命令的输出 显示了后台运行的如下作业:

[1] + 16477RunningSleep 100 &

可以在前台使用进程标识符来运行 sleep 100 & 命令,只需输入:

fg 16477

屏幕将显示:

sleep

文件

/usr/bin/ksh 包含 Korn 外壳 fg 内置命令。

/usr/bin/fg 包含 fg 命令。

适用范围:Red Hat、RHEL、 Ubuntu、CentOS、SUSE、openSUSE、Fedora

相关指令

bg:将作业(或任务)放到后台运行。

jobs:显示shell的作业信息。 

举例

题目:将后台作业切换到前台运行。

(1)使用jobs显示后台作业。在命令行中输入的命令示例如下:

1

[root@proxyl root]#jobs       #显示当前的作业列表

输出信息如下:

1

2

3

  [1]   Stopped    wc   

  [2]-  Stopped    wc

  [3]+  Stopped    wc

(2)将作业号为2的作业切换到前台运行。在命令行中输入的命令示例如下:

1

 [root@proxyl root]#fg2    #将2号作业切换到前台运行

输出信息如下:

1

  wc                     #wc命令已经转到前台运行

上例中如果想把刚刚放到后台的作业(本例中是3号作业)切换到前台,可以直接输入fg指令并按Enter键即可。

注意:有些指令(如需要和用户交互的指令等)是无法在后台运行的,这些指令在后台会被挂起,可以使用fg指令将其切换到前台运行。