任务管理

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 这样的工具。

最后更新于