Linux下的fg和bg命令是進程的前後台調度命令,即將指定號碼(非進程號)的命令進程放到前台或後台運行。比如一個需要長時間運行的命令,我們就希望把它放入後台,這樣就不會阻塞當前的操作;而一些服務型的命令進程我們則希望能把它們長期運行於後台。
進程前後台操作用到以下命令或按鍵:
Ctrl+C
終止並退出前台命令的執行,回到SHELL
Ctrl+Z
暫停前台命令的執行,將該進程放入後台,回到SHELL
jobs
查看當前在後台執行的命令,可查看命令進程號碼
&
運行命令時,在命令末尾加上&可讓命令在後台執行
fg N
將命令進程號碼為N的命令進程放到前台執行,同%N
bg N
將命令進程號碼為N的命令進程放到後台執行
以下是實際操作的演示:
Java代碼
- [www.linuxidc.com@linux ~]$ ping 88181.com -a >/dev/null &
- [1] 12879
- [www.linuxidc.com@linux ~]$ jobs
- [1]+ Running ping 88181.com -a > /dev/null &
- [www.linuxidc.com@linux ~]$
- [www.linuxidc.com@linux ~]$ ping linuxidc.com -a >/dev/null
- #Ctrl+Z
- [2]+ Stopped ping linuxidc.com -a > /dev/null
- [www.linuxidc.com@linux ~]$ jobs
- [1]- Running ping 88181.com -a > /dev/null &
- [2]+ Stopped ping linuxidc.com -a > /dev/null
- [www.linuxidc.com@linux ~]$
- [www.linuxidc.com@linux ~]$ fg 1
- ping 88181.com -a > /dev/null
- #Ctrl+Z
- [1]+ Stopped ping 88181.com -a > /dev/null
- [www.linuxidc.com@linux ~]$ jobs
- [1]+ Stopped ping 88181.com -a > /dev/null
- [2]- Stopped ping linuxidc.com -a > /dev/null
- [www.linuxidc.com@linux ~]$
- [www.linuxidc.com@linux ~]$ bg 2 織夢好,好織夢
- [2]- ping linuxidc.com -a > /dev/null &
- [www.linuxidc.com@linux ~]$ jobs
- [1]+ Stopped ping 88181.com -a > /dev/null
- [2]- Running ping linuxidc.com -a > /dev/null &
- [www.linuxidc.com@linux ~]$
- [www.linuxidc.com@linux ~]$ %2
- ping linuxidc.com -a > /dev/null
- #Ctrl+Z
- [2]+ Stopped ping linuxidc.com -a > /dev/null
- [www.linuxidc.com@linux ~]$ jobs
- [1]- Stopped ping 88181.com -a > /dev/null
- [2]+ Stopped ping linuxidc.com -a > /dev/null
- [www.linuxidc.com@linux ~]$
- [www.linuxidc.com@linux ~]$