# 任务管理

bash 还有另一个特点，暂停和恢复任务的能力。这允许你暂时暂停一个正在运行的任务，执行另一些任务，然后重新恢复这一任务或者在后台运行。通过输入 `CTRL-Z`，bash 会暂停正在运行的任务。之后你可以恢复那个任务。你可以通过这个方法暂停多个任务。内建的 `job` 命令会显示一个被暂停的任务的列表。

```
darkstar:~$ jobs
[1]-  Stopped                 vi TODO
[2]+  Stopped                 vi chapter_05.xml
```

为了恢复被暂停的任务，运行 `fg` 来将最新暂停的任务恢复到前台运行。如果你有多个任务被暂停可以输入要恢复的任务的序号。

```
darkstar:~$ fg # "vi TODO"
darkstar:~$ fg 1 # "vi chapter_05.xml"
```

你也可以运行 `bg` 将任务放入后台运行。这可以让进程继续运行而不会占用 shell 的控制。要恢复到前台运行，使用 `fg` 。

> 译者注：在 SSH 环境中，`bg` 放入后台的任务同样会随着 SSH 连接的断开而结束。如果你想在 SSH 断开后继续让程序在远端主机中运行，你需要使用 `nohup` 或者 `screen`/`tmux` 这样的工具。
