9.2-3 pstree & pgrep

Posted fadewalk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了9.2-3 pstree & pgrep相关的知识,希望对你有一定的参考价值。

9.2 pstree:显示进程状态树

    pstree命令以树形结构显示进程和进程之间的关系。
    如果不指定进程的PID号,或者不指定用户名称,则会以init进程为根进程,显示系统的所有进程信息;若指定用户或PID,则将以用户或PID为根进程,显示用户或PID对应的所有进程。
 
    pstree [选项] [进程号/用户]

参数选项及说明

-a    显示启动每个进程对应的完整指令,包含启动进程的路径、参数等
-c    不精简显示进程信息,即显示的进程中包含子进程和父进程
-h    对现在执行的程序进行特别标注
-n    根据进程PID号来排序输出,默认是以程序名称排序输出的
-p    显示进程的PID
-u    显示进程对应的用户名称

显示进程树 

[[email protected] ~]# pstree
init─┬─auditd───{auditd}
     ├─crond
     ├─master─┬─pickup
     │        └─qmgr
     ├─6*[mingetty]
     ├─rsyslogd───3*[{rsyslogd}]
     ├─sshd───sshd───bash───pstree
     └─udevd───2*[udevd]

显示指定用户的进程

[[email protected] ~]# pstree mysql    #<==mysql是系统的用户名。
mysqld_safe───mysqld───40*[{mysqld}]    #<==该输出显示了mysql用户下对应的进程为mysqld,并且msqyld 进程拥有40个线程
 
[[email protected] ~]# pstree -c -p mysql    #<=使用-c选项显示所有进程,包含子进程和父进程,使用-p选项显示进程的进程号。
mysqld_safe(3560)───mysqld(3782)─┬─{mysqld}(3855)
                                 ├─{mysqld}(3856)
                                 ├─{mysqld}(3857)
                                 ├─{mysqld}(3858)
                                 ├─{mysqld}(3859)
                                 ├─{mysqld}(3860)
                                 ├─{mysqld}(3861)
                                 ├─{mysqld}(3862)
                                 ├─{mysqld}(3863)
                                 ├─{mysqld}(3864)
                                 ├─{mysqld}(3868)

显示进程所属的用户

[[email protected] ~]# pstree -u
systemd─┬─NetworkManager─┬─dhclient
        │                └─2*[{NetworkManager}]
        ├─acpid
        ├─agetty
        ├─auditd───{auditd}
        ├─chronyd(chrony)
        ├─crond
        ├─dbus-daemon(dbus)
        ├─haveged
        ├─httpd───7*[httpd(apache)]
        ├─irqbalance
        ├─master─┬─pickup(postfix)
        │        └─qmgr(postfix)
        ├─mysqld_safe(mysql)───mysqld───40*[{mysqld}]

pgrep:查找匹配条件的进程

pgrep命令可以查找匹配条件的进程号。 
 
-u    显示指定用户的所有进程号 
[[email protected] ~]# pgrep crond    #<==pgrep 命令可以看作ps命令和grep命合的结合,pgrep命令指定过滤crond字段,获取到crond进程的进程号。
1448

显示指定用户的所有进程号

[[email protected] ~]# pgrep -u root
1
2
3
4
5
6
...

 

 
 
 

以上是关于9.2-3 pstree & pgrep的主要内容,如果未能解决你的问题,请参考以下文章

linux下的进程管理(进程的基本了解及查看pstree,ps,pgrep命令)

Linux基础21 进程介绍, 进程监控状态ps, 进程相关命令pstree,pgrep,pidof, 动态进程监控top, 进程中断概念, kill停止进程信号介绍pkill, killall

pstree-htop-kill-nice

进程管理工具使用

系统监控

#yyds干货盘点#进程相关管理工具