中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux下如何使用grep命令進行匹配

發布時間:2022-01-26 11:02:54 來源:億速云 閱讀:419 作者:小新 欄目:開發技術

小編給大家分享一下Linux下如何使用grep命令進行匹配,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

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

Linux下如何使用grep命令進行匹配

pgrep命令:

ps -eo pid,cmd | awk '{print $1,$2}' | grep KeyWord

參數說明:

選項說明
-d定義多個進程之間的分隔符, 如果不定義則使用換行符。
-P根據父進程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合用, 將打印進程的參數。

顯示詳細信息

使用示例

默認只顯示PID
root@361way:~# pgrep zabbix2380
2381
2382
2383
2384
2385
-l 同時顯示PID和ProcessName
root@361way:~# pgrep -l zabbix2380 zabbix_agentd
2381 zabbix_agentd
2382 zabbix_agentd
2383 zabbix_agentd
2384 zabbix_agentd
2385 zabbix_agentd
-o 當匹配多個進程時,顯示進程號最小的那個
root@361way:~# pgrep -l -o zabbix2380 zabbix_agentd
-n 當匹配多個進程時,顯示進程號最大的那個
root@361way:~# pgrep -l -n zabbix2385 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

特殊參數

使用pgrep -f 可以進行進程全字符匹配,示例如下:

//使用ps命令可以正常grep到進程
root@361way:~# ps auxf|grep druidroot 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的匹配結果為空
root@361way:~# pgrep druid//加上-f參數后,正常得到進程pid
root@361way:~# pgrep -f druid7438
root@361way:~# pgrep -f -l druid7438 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 參數可以輸出指定父進程的子進程,如:

root@361way:~# pgrep -P 23802381
2382
2383
2384
2385


以上是“Linux下如何使用grep命令進行匹配”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安顺市| 广西| 南召县| 莎车县| 师宗县| 西青区| 双峰县| 安新县| 凤庆县| 北川| 工布江达县| 花莲县| 正安县| 嘉禾县| 巴东县| 陇西县| 抚顺县| 阿尔山市| 敦化市| 陆河县| 安多县| 溆浦县| 古交市| 山东省| 吉林省| 瓮安县| 周宁县| 深州市| 江津市| 鹤岗市| 商南县| 定远县| 澄城县| 乐清市| 玉树县| 灌南县| 普格县| 古浪县| 德化县| 琼海市| 冕宁县|