如果要执行的任务非常耗时,可以使用bg指令将其放到后台执行,使得终端可以运行其它任务。同样的,如果你需要将后台的指令放到前台执行,则必须用fg。
1 bg:后台执行作业
语法格式:bg [任务号]
fg和bg指令使用任务号,而kill使用进程号。任务号和进程号是两个概念,前者是从普通用户角度来看待的,一个任务可能对应多个进程号,而进程号则是从系统管理员的角度来看待的。使用jobs命令可以查看任务号以及相对应的进程号。
实例:
~$ find / -name passwd find: `/run/udisks': 权限不够
find: `/run/lightdm': 权限不够
find: `/run/cups/certs': 权限不够
find: `/root': 权限不够
find: `/lost+found': 权限不够
find: `/sys/fs/fuse/connections/8388614': 权限不够
find: `/sys/fs/fuse/connections/8388613': 权限不够
find: `/sys/kernel/debug': 权限不够
^Z [1]+ 已停止
find / -name passwd
~$ jobs -l [1]+ 3636 停止
find / -name passwd
~$ bg 1 [1]+
find / -name passwd &
~$ /usr/bin/passwd
2 fg:将后台作业放到前台执行
fg和bg差不多,参数均为作业号,如果想要将某个后台执行的作业放到前台,直接fg 作业号即可。
实例:
~$ jobs -l
[1]+ 3636 运行中
find / -name passwd &
~$ fg 1
find / -name passwd