作業管理(job control)是在bash環境下使用的,也就是說,當我們登入系統獲取bash shell之後,在單一終端介面下,同時管理多個作業。下面分別介紹與作業管理有關的幾個常用命令:
一、直接將命令放到後台執行的
"&"在bash環境下,前台:您可以控制的作業稱為前台作業(foreground),後台:在記憶體可以自行執行的作業,您好無法直接控制他,除非以bg/fg命令把該作業呼叫出來。
"&" 用法:
#tar -zpcf /tmp/etc/tar.gz /etc &
[1] 234 <== [job number] pid
# <==可繼續繼續工作,不受影響,這就是後台
把當前作業放到後台暫停:
[ctrl] + z
,有些時候我們正在使用vi邏輯乙個檔案,突然有其它事情,需要切換到bash環境去執行相關命令,喧是我們直接退出vi邏輯環境?當然不需要,我們只需用命令[ctrl]+z ,然該作業暫停到後台,狀態
stopped.如:
#vi /etc/profile
#在vi的一般模式下,按下[ctrl]+z組合鍵
[1]+ stopped /usr/bin/vim /etc/profile
# <==順序獲取了前台的控制權
二、觀察當前後台作業狀態:
jobs
如觀察當前bash中的所有作業與對應的pid.
#jobs -l
[1]+ stopped /usr/bin/vim /etc/profile
[2]- stopped /usr/bin/vim /etc/profile.conf
說明:上面的 -l 表示讓列表現示作業號的pid,另外(+-)號,(+)號表示預設的作業,如我在bash中輸入fg,則[1] 會被自動執行。
三、將後台作業拿到前台處理:fg#
fg %jobnumber
我們可先用上面介紹的jobs -l命令查詢目前所有的作業號,然後再執行fg %jobnumber命令。應能夠將後台作業拿到前台來處理。
四、讓作業在後台執行:
bg我們剛才介紹了用[ctrl]+z可以讓當前作業放到後台去"暫停",那麼,現在我們可以讓乙個作業在後台執行。如:#
find / -perm +7000
#此時,請立刻按下[ctrl]+z暫停。
[1]+ stopped #find / -perm +7000
#然後讓它在後台執行
#bg %1
五、管理後台作業:kill
有時我們不想讓乙個作業再繼續執行了,這時我們可以向系統發乙個signal,來kill這個作業,
#kill -signal %jobnumber
常用引數:
-9: 立刻強制刪除乙個作業
-15:以正常的程式方式終止一項作業,與-9是不一樣的。
#jobs
[1]+ stopped vim bashrc
#kill -9 %1
[1]+ 終止 vim bashrc
linux程序及作業管理(三) 作業管理
linux系統作業控制 job 前台作業 foregroud 通過終端啟動,且啟動後會一直佔據終端 後台作業 backgroud 可以通過終端啟動,但啟動後即轉入後台執行 釋放終端 如何讓作業執行於後台?1 執行中的作業 ctrl z 相當於19號訊號 注意 送往後台後,作業會轉為停止態 2 尚未啟...
Linux作業管理
在介紹作業管理之前需要先知道,作業管理是在bash環境下使用的。也就是說 當登入系統獲取bash shell之後,在單一終端介面下,同時管理多個作業 這樣應該了解到 管理作業時,其實每個作業都是當前bash的子程式,即彼此之間是有關聯的。我們無法以作業管理的方式由tty1的環境去管理tty2的bas...
linux 作業管理
將 當前 作業放到後台 暫停 ctrl z 觀察當前後台作業狀態 jobs 引數 l 除了列出作業號之外同時列出pid r 列出僅在後台執行 run 的作業 s 僅列出暫停的作業3.將後台作業拿到前台處理 fg fg jobnumber 可有可無 讓作業在後台執行 bg ctrl z讓當前作業到後台...