Linux/Unix 區別於微軟平台最大的優點就是真正的多用戶,多任務。因此在任務管理上也有別具特色的管理思想。我們知道,在 Windows 上面,我們要麼讓一個程序作為服務在後台一直運行,要麼停止這個服務。而不能讓程序在前台後台之間切換。而 Linux 提供了 fg 和 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
這樣,你在控制台上就只能等待這個任務完成了。

& 將指令丟到後台中去執行
[ctrl]+z 將前台任務丟到後台中暫停
jobs 查看後台的工作狀態
fg %jobnumber 將後台的任務拿到前台來處理
bg %jobnumber 將任務放到後台中去處理
kill 管理後台的任務

huenlil 發表在 痞客邦 PIXNET 留言(0) 人氣()