經常要查看進程的信息,包括進程的是否已經消亡,通過pgrep來獲得正在被調度的進程的相關信息。pgrep通過匹配其程序名,找到匹配的進程
重要選項
-l 同時顯示進程名和PID
-o 當匹配多個進程時,顯示進程號最小的那個
-n 當匹配多個進程時,顯示進程號最大的那個
注:進程號越大,並不一定意味着進程的啟動時間越晚
使用說明
查看指定名稱的進程信息
默認只顯示PID
1: [root@master ~]# pgrep ssh2: 36863: 79074: 88155: 12874
同時顯示PID和ProcessName : –l
1: [root@master ~]# pgrep -l sshd2: 3686 sshd3: 7907 sshd4: 8815 sshd5: 12874 sshd
-o 當匹配多個進程時,顯示進程號最小的那個
1: [root@master ~]# pgrep -l sshd2: 3686 sshd3: 7907 sshd4: 8815 sshd5: 12874 sshd6: [root@master ~]# pgrep -l -o sshd7: 3686 sshd
-n 當匹配多個進程時,顯示進程號最大的那個
1: [root@master ~]# pgrep -l -n sshd2: 12874 sshd
特別說明
1)pgrep相當於 ps –eo pid,cmd | awk ‘{print $1,$2}’ | grep KeyWord
1: [root@master ~]# ps -eo pid,cmd | awk '{print $1,$2}' | grep init2: 1 init3: [root@master ~]# pgrep init4: 1
2)如1),pgrep查找的是程序名,不包括其參數
如下,參數里包括要查找的參數,而程序名中不包括,所有沒查找到。
1: [root@master ~]# ps axu | grep name2: root 13298 0.0 0.3 5436 1000 pts/4 S 05:52 0:00 sh name.sh3: root 13313 0.0 0.2 4876 672 pts/4 R+ 05:53 0:00 grep name4: [root@master ~]# pgrep name5: [root@master ~]#
總結
pgrep命令用來查找進程的信息,通常會和kill命令來連用,在指定條件下kill問題進程。
