新聞中心
grep命令以名稱為依據(jù)從運行進程隊列中查找進程,并顯示查找到的進程id。每一個進程ID以一個十進制數(shù)表示,通過一個分割字符串和下一個ID分開,默認的分割字符串是一個新行。對于每個屬性選項,用戶可以在命令行上指定一個以逗號分割的可能值的集合。

創(chuàng)新互聯(lián)公司服務(wù)項目包括饒陽網(wǎng)站建設(shè)、饒陽網(wǎng)站制作、饒陽網(wǎng)頁制作以及饒陽網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,饒陽網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到饒陽省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
pgrep命令:
ps -eo pid,cmd | awk '{print $1,$2}' | grep KeyWord
參數(shù)說明:
| 選項 | 說明 |
|---|---|
| -d | 定義多個進程之間的分隔符, 如果不定義則使用換行符。 |
| -P | 根據(jù)父進程PID,找出所有字進程的pid |
| -n | 表示如果該程序有多個進程正在運行,則僅查找最新的,即最后啟動的。 |
| -o | 表示如果該程序有多個進程正在運行,則僅查找最老的,即最先啟動的(多個進程時即父進程PID)。 |
| -G | 其后跟著一組group id,該命令在搜索時,僅考慮group列表中的進程。 |
| -u | 其后跟著一組有效用戶ID(effetive user id),該命令在搜索時,僅考慮該effective user列表中的進程。 |
| -U | 其后跟著一組實際用戶ID(real user id),該命令在搜索時,僅考慮該real user列表中的進程。 |
| -x | 表示進程的名字必須完全匹配, 以上的選項均可以部分匹配。 |
| -l | 將不僅打印pid,也打印進程名。 |
| -f | 一般與-l合用, 將打印進程的參數(shù)。 |
顯示詳細信息
使用示例
默認只顯示PID
root@361way:~# pgrep zabbix
2380
2381
2382
2383
2384
2385
-l 同時顯示PID和ProcessName
root@361way:~# pgrep -l zabbix
2380 zabbix_agentd
2381 zabbix_agentd
2382 zabbix_agentd
2383 zabbix_agentd
2384 zabbix_agentd
2385 zabbix_agentd
-o 當匹配多個進程時,顯示進程號最小的那個
root@361way:~# pgrep -l -o zabbix
2380 zabbix_agentd
-n 當匹配多個進程時,顯示進程號最大的那個
root@361way:~# pgrep -l -n zabbix
2385 zabbix_agentd
這里需要特別指出的是pgrep默認只能匹配進程的前15個字符串,個體可以參看ubuntu問答上的說明,如下:
ps aux includes the full command line (path and parameters),
while pgrep only looks at the first 15 characters of the executable's names
特殊參數(shù)
使用pgrep -f 可以進行進程全字符匹配,示例如下:
//使用ps命令可以正常grep到進程
root@361way:~# ps auxf|grep druid
root 25713 0.0 0.0 8108 940 pts/0 S+ 06:08 0:00 _ grep --color=auto druid
dev 7438 1.3 11.5 5524888 884988 ? Sl Jun16 672:54 java -server -Xmx4g -XX:MaxNewSize=1g -XX:+UseCompressedOops -XX:+UseParNewGC -Duser.timezone=UTC -Dfile.encoding=UTF-8 -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseCMSInitiatingOccupancyOnly -XX:+PrintHeapAtGC -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCApplicationStoppedTime -Djava.io.tmpdir=/data/tmpdata/java.io.tmpdata -Xloggc:/data/tmpdata/java.io.tmpdata/coordinator-gc.log -classpath lib/*:config/coordinator io.druid.cli.Main server coordinator
//pgrep的匹配結(jié)果為空
root@361way:~# pgrep druid
//加上-f參數(shù)后,正常得到進程pid
root@361way:~# pgrep -f druid
7438
root@361way:~# pgrep -f -l druid
7438 java -server -Xmx4g -XX:MaxNewSize=1g -XX:+UseCompressedOops -XX:+UseParNewGC -Duser.timezone=UTC -Dfile.encoding=UTF-8 -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+UseCMSInitiatingOccupancyOnly -XX:+PrintHeapAtGC -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCApplicationStoppedTime -Djava.io.tmpdir=/data/tmpdata/java.io.tmpdata -Xloggc:/data/tmpdata/java.io.tmpdata/coordinator-gc.log -classpath lib/*:config/coordinator io.druid.cli.Main server coordinator
使用 -P 參數(shù)可以輸出指定父進程的子進程,如:
root@361way:~# pgrep -P 2380
2381
2382
2383
2384
2385
相關(guān)命令pkill ,用法基本和pgrep一致。
標題名稱:Linux下使用grep命令進行匹配
標題URL:http://www.dlmjj.cn/article/dhogcgd.html


咨詢
建站咨詢
