bg和fg命令用于管理linux终端中的任务,通过Ctrl+Z暂停任务后可用bg使其在后台运行,用fg将任务调回前台,配合jobs查看任务状态,可高效控制多个进程,提升操作效率。

在Linux中,bg和fg命令用于管理后台和前台任务,尤其适合在终端中运行耗时命令或同时处理多个任务。掌握这两个命令的使用技巧,可以显著提升命令行操作效率。
理解作业控制(Job Control)
Linux终端支持作业控制,允许你暂停、恢复或切换进程的运行状态。每个在终端启动的进程都会被分配一个作业编号(job number)。常用相关命令包括:
- jobs:列出当前终端的所有作业及其状态
- Ctrl+Z:暂停当前正在运行的前台任务
- bg:将暂停的任务放到后台继续运行
- fg:将后台或暂停的任务恢复到前台
使用bg命令:让任务在后台运行
当你用 Ctrl+Z 暂停了一个程序后,它处于“已停止”状态。此时可使用 bg 命令让它在后台继续执行。
例如:
$ sleep 100
# 按下 Ctrl+Z
^Z [1]+ Stopped sleep 100
$ bg %1
[1]+ sleep 100 &
这里 %1 表示作业编号为1的任务。如果不指定,默认作用于最近一个暂停的任务。
使用fg命令:将任务切回前台
如果一个任务正在后台运行(如通过 bg 启动),你可以随时用 fg 将其调回前台,便于查看输出或进行交互。
示例:
$ jobs
[1]+ Running sleep 100 &
$ fg %1
# 此时sleep 100回到前台,直到完成或再次被中断
同样,%1 可省略,系统会默认选择最近的后台任务。
实用技巧与注意事项
实际使用中,有几个技巧能避免常见问题:
- 始终先运行 jobs 查看任务列表,确认作业编号和状态
- 可以同时管理多个任务,比如暂停A,启动B,再切回A
- 关闭终端前确保关键后台任务已结束或改用 nohup 或 screen 避免中断
- %符号可省略,直接写 fg 1 或 bg 1 也有效
基本上就这些。熟练使用 bg 和 fg,配合 jobs 和 Ctrl+Z,就能灵活掌控终端中的多个任务,无需频繁开启新窗口或中断进程。不复杂但容易忽略细节,值得日常多练习。