pgrep是一個命令行實用程序,根據給定的條件查找正在運行的程序的進程id。它能夠是完整的或部分的進程名、運行該進程的用戶或其餘屬性。 |
如何使用pgrep命令linux
語法:服務器
pgrep [options] pattern
當在沒有任何選項的狀況下調用時,pgrep將顯示與給定名稱匹配的全部正在運行的程序的pid。例如,要找到SSH服務器的PID,能夠運行如下命令:ssh
[root@localhost ~]# pgrep ssh 853 1063 1589
若是想要結束ssh進程,能夠使用pkill命令ide
[root@localhost ~]# pkill ssh
pgrep在換行中打印每一個匹配的進程ID。-d選項容許指定不一樣的分隔符。例如,若是想使用空格做爲分隔符,運行下面的命令:spa
[root@localhost ~]# pgrep ssh -l -d ' ‘ 1654 sssd_ssh1664 sshd1666 sshd
使用-l選項能夠列出PID和進程名稱:orm
[root@localhost ~]# pgrep -l ssh 1654 sssd_ssh 1664 sshd 1666 sshd
若是想徹底匹配,能夠使用:進程
[root@localhost ~]# pgrep '^sshd$' -l 1664 sshd 1666 sshd
使用-u選項告訴pgrep顯示給定用戶正在運行的進程:ci
[root@localhost ~]# pgrep -u root -l 1 systemd 2 kthreadd … … 520 xfsaild/dm-0 521 kworker/0:1H 600 systemd-journal 622 lvmetad 628 systemd-udevd 632 rpciod 634 xprtiod 659 xfs-buf/sda1
若要顯示與給定條件不匹配的進程,請使用 -v選項。下面的命令將打印全部不是由用戶「root」運行的進程:rpc
[root@localhost ~]# pgrep -v -u root -l 801 dbus-daemon 802 rpcbind 810 avahi-daemon 812 polkitd 817 avahi-daemon 820 chronyd 1282 pickup 1283 qmgr
-c選項告訴pgrep只打印匹配進程的數量get
[root@localhost ~]# pgrep -v -u root -l -c 8