linux 系統命令獲取指定進程pid


pgrep -l name

[root@master ~]# pgrep -l python
45086 python3

pgrep的參數:

  • -l 同時顯示進程名和PID

  • -o 當匹配多個進程時,顯示進程號最小的那個

  • -n 當匹配多個進程時,顯示進程號最大的那個

  • 注:進程號越大,並不一定意味着進程的啟動時間越晚

查看指定名稱的進程信息
默認只顯示PID

   1: [root@master ~]# pgrep ssh
   2: 3686
   3: 7907
   4: 8815
   5: 12874

同時顯示PID和ProcessName : –l

   1: [root@master ~]# pgrep -l sshd
   2: 3686 sshd
   3: 7907 sshd
   4: 8815 sshd
   5: 12874 sshd

-o 當匹配多個進程時,顯示進程號最小的那個

   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 當匹配多個進程時,顯示進程號最大的那個

   1: [root@master ~]# pgrep -l -n sshd
   2: 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 init
  • 1
  • 2: 1 init
  • 3: [root@master ~]# pgrep init
  • 4: 1
    2)如1),pgrep查找的是程序名,不包括其參數

如下,參數里包括要查找的參數,而程序名中不包括,所有沒查找到。

   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 ~]# 

總結
pgrep命令用來查找進程的信息,通常會和kill命令來連用,在指定條件下kill問題進程。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM