linux的bf fg命令介绍

Linux下的fg和bg命令是进程的前后台调度命令,即将作业号(jobs命令执行结果方括号中的数值,非进程号)的命令进程放到前台或后台运行。比如一个需要长时间运行的命令,我们就希望把它放入后台,这样就不会阻塞当前的操作。

进程前后台操作用到以下命令或按键:

Ctrl+C

终止并退出前台命令的执行,回到shell

Ctrl+Z

暂停前台命令的执行,将该进程放入后台,回到shell

jobs

查看当前在后台执行的命令,-l 参数可查看命令进程号

输入命令:jobs
终端显示:[1]+ Stopped vim /etc/network/interfaces > /home/leo/Desktop/ip.txt (wd: /),方括号中的1是作业号

输入命令:jobs -l
终端显示:[1]+ 4664 停止 vim /etc/network/interfaces > /home/leo/Desktop/ip.txt (wd: /),4664是进程号
kill %1或者kill 4664都可以杀死这个进程。

&

运行命令时,在命令末尾加上&可让命令在后台执行

fg N

将命令作业号为N的命令进程放到前台执行,%N也能达到这个效果

bg N

将命令作业号为N的命令进程放到后台执行

以下是实际操作的演示:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
[maple@linux ~]$  ping baidu.com -a >/dev/null &
[1] 12879
[maple@linux ~]$ jobs
[1]+  Running                 ping baidu.com -a > /dev/null &
[maple@linux ~]$
[maple@linux ~]$ ping google.com -a >/dev/null
#Ctrl+Z
[2]+  Stopped                 ping google.com -a > /dev/null
[maple@linux ~]$ jobs
[1]-  Running                 ping baidu.com -a > /dev/null &
[2]+  Stopped                 ping google.com -a > /dev/null
[maple@linux ~]$
[maple@linux ~]$ fg 1
ping baidu.com -a > /dev/null
#Ctrl+Z
[1]+  Stopped                 ping baidu.com -a > /dev/null
[maple@linux ~]$ jobs
[1]+  Stopped                 ping baidu.com -a > /dev/null
[2]-  Stopped                 ping google.com -a > /dev/null
[maple@linux ~]$
[maple@linux ~]$ bg 2
[2]- ping google.com -a > /dev/null &
[maple@linux ~]$ jobs
[1]+  Stopped                 ping baidu.com -a > /dev/null
[2]-  Running                 ping google.com -a > /dev/null &
[maple@linux ~]$
[maple@linux ~]$ %2
ping google.com -a > /dev/null
#Ctrl+Z
[2]+  Stopped                 ping google.com -a > /dev/null
[maple@linux ~]$ jobs
[1]-  Stopped                 ping baidu.com -a > /dev/null
[2]+  Stopped                 ping google.com -a > /dev/null
[maple@linux ~]$
[maple@linux ~]$
posted @ 2022-04-06 16:47  收手吧阿祖  阅读(503)  评论(0编辑  收藏  举报