管理后台作业
我们可以使用 jobs 命令列出当前正在运行或者在后台暂停的作业。
$ jobs [1]+ Running sleep 100 &
我们可以使用 fg 命令将后台作业带到前台。
$ fg % 1 sleep 100
我们可以使用 'Control+Z 键和 bg 命令将作业返回到后台。
Control+Z 键暂停作业,并将其作为已停止的作业置于后台。
bg 命令在后台运行作业。
例如:
- 使用 CTRL+Z
$ sleep 100 ^Z [1]+ Stopped sleep 100
$ jobs [1]+ Stopped sleep 100
- 使用bg 将任务置于后台
$ bg % 1 [1]+ sleep 100 &
$ jobs [1]+ Running sleep 100 &
注意:当我们将停止的作业放置在前台或者后台时,作业会重新启动。
更多: zhilu jiaocheng
在后台运行作业
要在后台运行作业,我们需要输入要运行的命令,并在命令行末尾输入与号 (&) 符号。
例如,在后台运行 sleep 命令。
$ sleep 100 & [1] 1302 $
Shell 在括号中返回作业 ID,它分配给命令和关联的 PID。
通过作业 ID,我们可以使用作业控制命令来管理作业,而内核使用 PID 来管理作业。
当后台作业完成并按下 Return 键时,shell 会显示一条消息,指示作业已完成。
[1] + Done sleep 100 & $
作业控制命令
作业控制命令使我们能够将作业置于前台或者后台,以及启动或者停止作业。
该表描述了作业控制命令。
选项 | 描述 |
---|---|
jobs | 列出所有工作 |
bg %n | 将当前或者指定的作业置于后台,其中 n 是作业 ID |
fg %n | 将当前或者指定的作业带入前台,其中 n 是作业 ID |
Control-Z | 停止前台作业并将其作为停止作业放置在后台 |
什么是 Linux 的作业(job)
任务(job)是shell管理的进程。
每个作业都分配有一个顺序作业 ID。
因为作业是一个进程,所以每个作业都有一个关联的 PID。
有三种类型的工作状态:
Foreground(处于前台):当我们在终端窗口中输入命令时,该命令会占用该终端窗口,直到完成为止。
这是一个前台工作。Background(处于后台):当我们在命令行末尾输入与号 (&) 符号时,该命令将在不占用终端窗口的情况下运行。
按下 Return 键后会立即显示 shell 提示。
这是后台作业的示例。Stopped(停止):如果我们为前台作业按 Control + Z,或者为后台作业输入停止命令,作业将停止。
此作业称为已停止作业。
日期:2020-09-17 00:14:33 来源:oir作者:oir