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