Linux 命令 bg
:将作业放到后台执行
在 Linux 系统中,我们经常需要同时处理多个任务。当我们在终端中运行一个命令或程序时,默认情况下它会在前台执行,这意味着我们不能执行其他命令,直到当前命令完成。然而,通过使用 bg
命令,我们可以将正在运行的作业放到后台执行,从而允许我们同时执行其他任务。
什么是 bg
命令?
bg
命令用于将当前挂起的作业(通常是使用 Ctrl + Z
暂停的作业)放到后台继续执行。这样,我们就可以在终端中继续输入其他命令,而不需要等待原始作业完成。
如何使用 bg
命令?
1. 启动一个前台作业
首先,让我们启动一个需要一些时间才能完成的作业,例如使用 sleep
命令:
$ sleep 1000
这个命令将模拟一个需要 1000 秒(约 17 分钟)才能完成的作业。
2. 暂停前台作业
在作业开始执行后,按下 Ctrl + Z
组合键来暂停它:
[1]+ Stopped sleep 1000
此时,你会看到终端显示作业已被暂停,并给出了作业编号(在这个例子中是 [1]+
)。
3. 使用 bg
命令将作业放到后台
接下来,输入 bg
命令(如果作业编号不是 1,可以使用 %作业编号
的形式来指定要放到后台的作业,例如 %1
):
$ bg
[1]+ sleep 1000 &
注意,命令末尾的 &
符号表示作业已在后台执行。
4. 查看后台作业状态
你可以使用 jobs
命令来查看当前在后台运行的作业:
$ jobs
[1]+ Running sleep 1000 &
5. 继续执行其他命令
现在,你可以继续在终端中输入并执行其他命令,而不需要等待 sleep 1000
命令完成。
注意事项
- 不是所有的作业都适合在后台运行。一些需要与用户交互的作业(如文本编辑器)在后台运行时可能无法正常工作。
- 使用
bg
命令将作业放到后台后,该作业将不会将任何输出显示在终端上,除非你使用fg
命令将其再次放到前台。 - 如果你想要停止一个后台作业,可以使用
kill
命令配合作业编号来实现。例如,kill %1
将停止编号为 1 的后台作业。
总结
bg
命令是 Linux 系统中一个非常有用的工具,它允许我们将正在运行的作业放到后台继续执行,从而提高了我们的工作效率。通过结合 Ctrl + Z
、bg
、fg
和 kill
等命令,我们可以更加灵活地管理终端中的作业。