主頁 > 知識(shí)庫 > 簡(jiǎn)單了解Linux系統(tǒng)中pgrep與pkill命令的使用

簡(jiǎn)單了解Linux系統(tǒng)中pgrep與pkill命令的使用

熱門標(biāo)簽:萊蕪移動(dòng)外呼系統(tǒng) 軟件電話機(jī)器人 小語股票電銷機(jī)器人 申請(qǐng)400電話流程好嗎 柯城手機(jī)地圖如何做地圖標(biāo)注 高德地圖標(biāo)注在電腦上 襄陽地圖標(biāo)注店 杭州電銷機(jī)器人有效果嗎 金華呼叫中心外呼系統(tǒng)廠家

pgrep, pkill – 查找或者發(fā)信號(hào)給進(jìn)程通過名稱和其它屬性。

語法

pgrep [-flvx] [-n | -o] [-d delim] [-P ppidlist] [-g pgrplist] [-s sidlist] [-u euidlist] [-U uidlist] [-G gidlist] [-J projidlist] [-t termlist] [-T taskidlist] [-c ctidlist] [-z zoneidlist] [pattern]

pkill [-signal] [-fvx] [-n | -o] [-P ppidlist] [-g pgrplist] [-s sidlist] [-u euidlist] [-U uidlist] [-G gidlist] [-J projidlist] [-t termlist] [-T taskidlist] [-c ctidlist] [-z zoneidlist] [pattern]


說明
pgrep程序檢查在系統(tǒng)的中活動(dòng)進(jìn)程,報(bào)告進(jìn)程屬性匹配命令行上指定條件的進(jìn)程的ID。每一個(gè)進(jìn)程ID以一個(gè)十進(jìn)制數(shù)表示,通過一個(gè)分割字符串和下一個(gè)ID分開,默認(rèn)的分割字符串是一個(gè)新行。對(duì)于每個(gè)屬性選項(xiàng),用戶可以在命令行上指定一個(gè)以逗號(hào)分割的可能值的集合。例如,

復(fù)制代碼
代碼如下:

pgrep -G other,daemon

匹配真實(shí)組ID是other或者是daemon的進(jìn)程。如果多個(gè)條件被指派,這些匹配條件按邏輯與”AND”規(guī)則運(yùn)算。例如,

復(fù)制代碼
代碼如下:

pgrep -G other,daemon -U root,daemon

匹配進(jìn)程它的屬性是:
(真實(shí)的組ID是other或者是daemon) 與 (真實(shí)的用戶ID是root或者是daemon)
pkill函數(shù)和pgrep相同,除了匹配的進(jìn)程被信號(hào)通知就像用kill(1)替代了pgrep的進(jìn)程ID的輸出。一個(gè)信號(hào)名稱或者數(shù)字可以作為pkill的第一個(gè)命令行選項(xiàng)。

選項(xiàng)
支持下面的選項(xiàng):The following options are supported:
-c ctidlist 僅匹配列表中列出的ID的進(jìn)程。
-d delim 指定每一個(gè)匹配的進(jìn)程ID之間分割字符串。如果沒有 -d 選項(xiàng)指定,默認(rèn)的是新行字符。-d 選項(xiàng)僅在pgrep命令中有效。
-f正則表達(dá)式模式將執(zhí)行與完全進(jìn)程參數(shù)字符串 (從/proc/nnnnn/psinfo文件的pr_psargs字段獲得)匹配。如果沒有 -f 選項(xiàng),表達(dá)式僅對(duì)執(zhí)行文件名稱(從/proc/nnnnn/psinfo文件pr_fname字段獲得)匹配。
-g pgrplist僅匹配進(jìn)程組ID在給定列表中的進(jìn)程。如果組0包括在列表中,這個(gè)被解釋為pgrep或者pkill進(jìn)程的組ID。
-G gidlist僅匹配真實(shí)組ID在給定列表中的進(jìn)程。每一個(gè)組ID可以使用組名稱或者數(shù)字的組ID指定。
-J projidlist匹配項(xiàng)目ID在給定列表中的進(jìn)程。每一個(gè)項(xiàng)目ID可以使用項(xiàng)目的名稱或者數(shù)字項(xiàng)目ID來指定。
-l長(zhǎng)格式輸出。輸出每一個(gè)匹配進(jìn)程的名稱連同進(jìn)程ID。進(jìn)程名稱從pr_psargs 或者 pr_fname字段獲得,依賴于-f選項(xiàng)是否指定。-l選項(xiàng)僅在pgrep命令中有效。
-n匹配最新(最近生成的)符合所有其它匹配條件的進(jìn)程。不能和-o選項(xiàng)一起使用。
-o匹配最舊(最早生成的)符合所有其它匹配條件的進(jìn)程。不能和-n選項(xiàng)一起使用。
-P ppidlist 僅匹配給定列表中父進(jìn)程ID的進(jìn)程。
-s sidlist 僅匹配進(jìn)程會(huì)話ID在給定列表中的進(jìn)程。如果ID 0在列表中,這個(gè)解釋為pgrep或者pikill進(jìn)程的會(huì)話ID。
-t termlist 僅匹配與給定列表中終端關(guān)聯(lián)的進(jìn)程。每一個(gè)終端指定為在/dev中終端設(shè)備路徑名稱的后綴。例如term/a 或者 pts/0。
-T taskidlist 僅匹配在給定列表中任務(wù)ID的進(jìn)程。如果ID 0包括在列表中,這個(gè)解釋為pgrep或者pikill進(jìn)程的會(huì)話ID。
-u euidlist 僅匹配有效用戶ID在給定列表中的進(jìn)程。每個(gè)用戶ID可以通過一個(gè)登錄名稱或者數(shù)字的用戶ID指定。
-U uidlist 僅匹配真實(shí)的用戶ID在給定列表中的進(jìn)程。每個(gè)用戶ID可以通過一個(gè)登錄名稱或者數(shù)字的用戶ID指定。
-v 反向匹配。匹配所有的進(jìn)程除了符合匹配條件的。
-x 僅認(rèn)為進(jìn)程其參數(shù)字符串或者執(zhí)行文件名稱正確匹配規(guī)定模式是匹配的進(jìn)程。模式被認(rèn)為是準(zhǔn)確的當(dāng)所有在進(jìn)程參數(shù)字符串或者可執(zhí)行文件名稱的字符匹配模式。
-z zoneidlist 僅匹配區(qū)域ID在給定列表中的進(jìn)程。每一個(gè)區(qū)域ID可以使用一個(gè)區(qū)域名稱或者一個(gè)數(shù)字的區(qū)域ID指定。這個(gè)選項(xiàng)僅在全局區(qū)域中執(zhí)行有效。如果pkill程序用來往其它區(qū)域的進(jìn)程發(fā)信號(hào),進(jìn)城必須宣稱{PRIV_PROC_ZONE}特權(quán)。
-signal 指定發(fā)往每一個(gè)匹配進(jìn)程的信號(hào)。如果沒有指定,SIGTERM 是默認(rèn)的信號(hào)。-signal僅在pkill命令中作為第一個(gè)選項(xiàng)有效。信號(hào)可以是在signal.h中定義的沒有SIG前綴的一個(gè)符號(hào)名字,也可是一個(gè)相應(yīng)的信號(hào)數(shù)值。

例子

例子1 獲得一個(gè)進(jìn)程ID

獲得sendmail的進(jìn)程ID:

復(fù)制代碼
代碼如下:

example% pgrep -x -u root sendmail
283

例子2 終止一個(gè)進(jìn)程

終止最近生成的xterm:

復(fù)制代碼
代碼如下:

example% pkill -n xterm
Exit Status

如下退出值被返回:

0 一個(gè)或者多個(gè)進(jìn)程被匹配。
1 沒有進(jìn)程被匹配。
2 指定了無效的命令行參數(shù)。
3 出現(xiàn)一個(gè)致命的錯(cuò)誤。

例子3 用pkill命令踢出在線登錄用戶
由于linux服務(wù)器允許多用戶登錄,公司很多人知道密碼,工作造成一定的障礙
所以需要有時(shí)踢出指定的用戶
#who   查出當(dāng)前有那些終端登錄(用 w 命令更詳細(xì))

復(fù)制代碼
代碼如下:

# who
root pts/0 2010-10-28 09:36 (192.168.1.236)
root pts/2 2010-10-28 09:40 (192.168.1.27)
root pts/3 2010-10-28 10:02 (192.168.1.82)
root pts/4 2010-10-20 16:06 (192.168.1.244)

我想踢出IP為82的登錄,其對(duì)應(yīng)的tty為pts/3

復(fù)制代碼
代碼如下:

# pkill -kill -t pts/3

再次查看

復(fù)制代碼
代碼如下:

# who
root pts/0 2010-10-28 09:36 (192.168.1.236)
root pts/2 2010-10-28 09:40 (192.168.1.27)
root pts/4 2010-10-20 16:06 (192.168.1.244)

已成功踢出

標(biāo)簽:臺(tái)州 玉樹 哈密 孝感 優(yōu)質(zhì)穩(wěn)定 海東 九江 昌都

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《簡(jiǎn)單了解Linux系統(tǒng)中pgrep與pkill命令的使用》,本文關(guān)鍵詞  簡(jiǎn)單,了解,Linux,系統(tǒng),中,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《簡(jiǎn)單了解Linux系統(tǒng)中pgrep與pkill命令的使用》相關(guān)的同類信息!
  • 本頁收集關(guān)于簡(jiǎn)單了解Linux系統(tǒng)中pgrep與pkill命令的使用的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章