作業管理 jobs fg bg kill介紹

2021-06-22 04:54:29 字數 1503 閱讀 3415

作業管理(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讓當前作業到後台...