我們都知道,在 Windows 上面,我們要么讓一個程序作為服務在后台一直運行,要么停止這個服務。而不能讓程序在前台后台之間切換。而 Linux 提供了 fg(fore ground) 和 bg 命令,讓我們輕松調度正在運行的任務。
假設你發現前台運行的一個程序需要很長的時間,但是需要干其他的事情,你就可以用 Ctrl-Z ,掛起這個程序,然后可以看到系統提示(方括號中的是作業號):[1]+ Stopped /root/bin/rsync.sh
然后我們可以把程序調度到后台執行:(bg 后面的數字為作業號)
#bg 1
[1]+ /root/bin/rsync.sh &
用 jobs 命令查看正在運行的任務:
#jobs
[1]+ Running /root/bin/rsync.sh &
如果想把它調回到前台運行,可以用
#fg 1
/root/bin/rsync.sh
這樣,你在控制台上就只能等待這個任務完成了。
bg用后如果要關閉控制台,需要先exit
fg、bg、jobs、&、ctrl + z都是跟系統任務有關的,雖然現在基本上不怎么需要用到這些命令,但學會了也是很實用的
一。& 最經常被用到
這個用在一個命令的最后,可以把這個命令放到后台執行
二。ctrl + z
可以將一個正在前台執行的命令放到后台,並且暫停
三。jobs
查看當前有多少在后台運行的命令
四。fg
將后台中的命令調至前台繼續運行
如果后台中有多個命令,可以用 fg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的后台正在執行的命令的序號(不是pid)
五。bg
將一個在后台暫停的命令,變成繼續執行
如果后台中有多個命令,可以用bg %jobnumber將選中的命令調出,%jobnumber是通過jobs命令查到的后台正在執行的命令的序號(不是pid)