前言
經(jīng)常要查看進(jìn)程的信息,包括進(jìn)程的是否已經(jīng)消亡,通過(guò)pgrep來(lái)獲得正在被調(diào)度的進(jìn)程的相關(guān)信息。pgrep通過(guò)匹配其程序名,找到匹配的進(jìn)程
重要選項(xiàng)
-l 同時(shí)顯示進(jìn)程名和PID
-o 當(dāng)匹配多個(gè)進(jìn)程時(shí),顯示進(jìn)程號(hào)最小的那個(gè)
-n 當(dāng)匹配多個(gè)進(jìn)程時(shí),顯示進(jìn)程號(hào)最大的那個(gè)
注:進(jìn)程號(hào)越大,并不一定意味著進(jìn)程的啟動(dòng)時(shí)間越晚
使用說(shuō)明
查看指定名稱(chēng)的進(jìn)程信息
默認(rèn)只顯示PID
1: [root@master ~]# pgrep ssh
2: 3686
3: 7907
4: 8815
5: 12874
同時(shí)顯示PID和ProcessName : –l
1: [root@master ~]# pgrep -l sshd
2: 3686 sshd
3: 7907 sshd
4: 8815 sshd
5: 12874 sshd
-o 當(dāng)匹配多個(gè)進(jìn)程時(shí),顯示進(jìn)程號(hào)最小的那個(gè)
1: [root@master ~]# pgrep -l sshd
2: 3686 sshd
3: 7907 sshd
4: 8815 sshd
5: 12874 sshd
6: [root@master ~]# pgrep -l -o sshd
7: 3686 sshd
-n 當(dāng)匹配多個(gè)進(jìn)程時(shí),顯示進(jìn)程號(hào)最大的那個(gè)
1: [root@master ~]# pgrep -l -n sshd
2: 12874 sshd
特別說(shuō)明
1)pgrep相當(dāng)于 ps –eo pid,cmd | awk ‘{print $1,$2}’ | grep KeyWord
1: [root@master ~]# ps -eo pid,cmd | awk '{print $1,$2}' | grep init
2: 1 init
3: [root@master ~]# pgrep init
4: 1
2)如1),pgrep查找的是程序名,不包括其參數(shù)
如下,參數(shù)里包括要查找的參數(shù),而程序名中不包括,所有沒(méi)查找到。
1: [root@master ~]# ps axu | grep name
2: root 13298 0.0 0.3 5436 1000 pts/4 S 05:52 0:00 sh name.sh
3: root 13313 0.0 0.2 4876 672 pts/4 R+ 05:53 0:00 grep name
4: [root@master ~]# pgrep name
5: [root@master ~]#
總結(jié)
pgrep命令用來(lái)查找進(jìn)程的信息,通常會(huì)和kill命令來(lái)連用,在指定條件下kill問(wèn)題進(jìn)程。