在 Linux 中,`jobs` 和 `bg` 命令通常用于管理 shell 会话中的后台任务。下面是对这两个命令的详细解释:
### `jobs` 命令
`jobs` 命令用来列出当前终端会话中所有的作业(jobs)。这些作业包括前台运行的任务和后台运行的任务。当你在一个 shell 会话中执行一个命令,并且想让它在后台运行时,你可以使用 `&` 符号将其放到后台,或者使用 `Ctrl+Z` 暂停它,然后用 `bg` 命令把它放到后台继续执行。
`jobs` 命令的基本输出格式如下:
- 工作编号:每个作业都有一个唯一的编号。
- 状态:表示作业是正在运行还是已停止。
- 命令:启动该作业时使用的命令行。
例如:
```bash
[1]+ Running sleep 1000 &
[2]- Stopped vim file.txt
```
这里的 `[1]` 和 `[2]` 是工作编号,`Running` 表示作业正在运行,而 `Stopped` 则表示作业被暂停了。
### `bg` 命令
`bg` 命令用于将一个暂停的作业放到后台继续执行。当你使用 `Ctrl+Z` 暂停了一个正在运行的命令后,可以使用 `bg` 来让这个命令在后台恢复运行。
使用 `bg` 的基本语法是:
```bash
bg %jobnumber
```
其中 `%jobnumber` 是你想要放到后台的作业的工作编号。如果你不指定工作编号,默认会将最近暂停的作业放到后台。
例如,如果你有一个暂停的 `sleep 1000` 命令,它的作业编号为 `[1]`,那么你可以这样操作:
```bash
# 暂停命令
^Z
[1]+ Stopped sleep 1000
# 将其放到后台继续执行
bg %1
[1]+ sleep 1000 &
```
现在,`sleep 1000` 命令将在后台继续执行。
### 综合使用
你可以在同一个 shell 会话中结合使用 `jobs` 和 `bg` 来管理和控制你的作业。例如,首先查看所有作业的状态,然后选择特定的作业放到后台继续运行。如果需要把作业带回前台,可以使用 `fg` 命令加上相应的作业编号。
标签:bg,jobs,查看,作业,命令,sleep,Linux,后台,后台任务 From: https://blog.csdn.net/weixin_43803780/article/details/142719989