首页 / Linux 命令行入门教程 / 49. 作业控制:& / jobs / bg / fg / nohup

Linux 命令行入门教程

49. 作业控制:& / jobs / bg / fg / nohup

本教程共 90 篇 · 第 50 篇

49. 作业控制:& / jobs / bg / fg / nohup

“作业”就是当前 shell 里跑着的任务。作业控制让你在前后台之间搬动它们。

最省事的是启动时加 &,直接丢后台:

sleep 300 &

回显 [1] 12345[1] 是作业号,12345 是 PID。

要看看有哪些作业?

jobs

正在前台跑的,按 Ctrl+Z 能暂停(Stopped)。暂停后怎么复活到后台?

bg %1

bg 把作业 1 接着在后台跑。想拉回前台接着操作:

fg %1
Note

bg/fg 不带参数时,操作的是最近那个作业(%+)。%1 里的数字就是上面 jobs 输出方括号里的作业号,从 1 开始编号。

后台进程有个坑:你一关终端,它常被一起带走。要让它脱离终端活下去:

nohup sleep 300 &

nohup 忽略”挂断”信号,输出默认追加到 nohup.out

小结:& 起后台、jobs 查、bg/fg 搬、nohup 防关终端被杀。这四个配合,长任务不用干等。