• L57.linux命令每日一练 -- 第九章 Linux进程管理命令 -- ps和pstree


    9.1 ps:查看进程

    9.1.1 命令详解

    【命令星级】 ★★★★★

    【功能说明】

    ​ ps命令用于列出执行ps命令的那个时刻的进程快照,就像用手机给进程照了一张照片。如果想要动态地显示进程的信息,就需要使用top命令,该命令类似于把手机切换成录像模式。

    【语法格式】

    ps [option]
    ps [选项]
    
    • 1
    • 2

    说明:

    ​ 1)在ps命令及后面的选项里,每个元素之间都至少要有一个空格。

    ​ 2)因为ps命令能够支持多种系统(Linux、Unix等),所以选项较多。但是学习时只需要掌握常用的参数即可。

    ​ 3)因为ps命令的功能实在是太多了,26个字母已经满足不了,因此在ps命令的参数中有类似于-a与a这2种写法,这2种写法的功能是不一样的。

    ​ 4)参数的格式具体如下。

    • UNIX格式:一个“-”开头。

    • BSD格式:没有“-”开头。

    • GNU格式:两个“–”开头。

      【选项说明】

      ​ 表9-1针对该命令的参数选项进行了说明。

      ​ 表9-1 ps命令的参数选项及说明
      在这里插入图片描述
      如果读者有兴趣,可以通过man ps命令查看帮助,你也将高高兴地发现,能够查到很多很复杂的内容。

    9.1.2 使用范例

    ​ **范例9-1:**ps命令不接任何参数。

    [root@centos7 ~]# ps
       PID TTY          TIME CMD
      1625 pts/0    00:00:00 bash
      1839 pts/0    00:00:00 ps
    
    • 1
    • 2
    • 3
    • 4

    ​ 默认情况下,ps命令不接任何参数时,输出的是使用者当前所在终端(窗口)的进程,其输出结果中的各项说明如下。

    • PID是进出的标识号。
    • TTY是进出所属的终端控制台。
    • TIME列是进程所使用的总的CPU时间。
    • CMD列是正在执行的命令行。

    ​ **范例9-2:**ps命令常用的操作组合(命令1)。

    ​ 首先来看一下使用Unix格式输出每个进程信息的方法。

    [root@centos7 ~]# ps -ef	#Unix格式参数,使用-e参数显示所有进程,使用-f参数额外显示UID、PPID、C、与STIME栏位。
    UID         PID   PPID  C STIME TTY          TIME CMD
    root          1      0  0 13:32 ?        00:00:05 /usr/lib/systemd/s
    root          2      0  0 13:32 ?        00:00:00 [kthreadd]
    root          4      2  0 13:32 ?        00:00:00 [kworker/0:0H]
    root          5      2  0 13:32 ?        00:00:00 [kworker/u256:0]
    root          6      2  0 13:32 ?        00:00:00 [ksoftirqd/0]
    root          7      2  0 13:32 ?        00:00:00 [migration/0]
    root          8      2  0 13:32 ?        00:00:00 [rcu_bh]
    root          9      2  0 13:32 ?        00:00:01 [rcu_sched]
    root         10      2  0 13:32 ?        00:00:00 [lru-add-drain]
    root         11      2  0 13:32 ?        00:00:00 [watchdog/0]
    root         13      2  0 13:32 ?        00:00:00 [kdevtmpfs]
    root         14      2  0 13:32 ?        00:00:00 [netns]
    root         15      2  0 13:32 ?        00:00:00 [khungtaskd]
    root         16      2  0 13:32 ?        00:00:00 [writeback]
    root         17      2  0 13:32 ?        00:00:00 [kintegrityd]
    root         18      2  0 13:32 ?        00:00:00 [bioset]
    root         19      2  0 13:32 ?        00:00:00 [bioset]
    root         20      2  0 13:32 ?        00:00:00 [bioset]
    root         21      2  0 13:32 ?        00:00:00 [kblockd]
    root         22      2  0 13:32 ?        00:00:00 [md]
    root         23      2  0 13:32 ?        00:00:00 [edac-poller]
    root         24      2  0 13:32 ?        00:00:00 [watchdogd]
    root         30      2  0 13:32 ?        00:00:00 [kswapd0]
    root         31      2  0 13:32 ?        00:00:00 [ksmd]
    root         32      2  0 13:32 ?        00:00:00 [khugepaged]
    root         33      2  0 13:32 ?        00:00:00 [crypto]
    root         41      2  0 13:32 ?        00:00:00 [kthrotld]
    root         43      2  0 13:32 ?        00:00:00 [kmpath_rdacd]
    root         44      2  0 13:32 ?        00:00:00 [kaluad]
    root         45      2  0 13:32 ?        00:00:00 [kpsmoused]
    root         47      2  0 13:32 ?        00:00:00 [ipv6_addrconf]
    root         60      2  0 13:32 ?        00:00:00 [deferwq]
    root         95      2  0 13:32 ?        00:00:00 [kauditd]
    root        233      2  0 13:32 ?        00:00:00 [ata_sff]
    root        234      2  0 13:32 ?        00:00:00 [nfit]
    root        235      2  0 13:32 ?        00:00:00 [mpt_poll_0]
    root        236      2  0 13:32 ?        00:00:00 [mpt/0]
    root        239      2  0 13:32 ?        00:00:00 [scsi_eh_0]
    root        241      2  0 13:32 ?        00:00:00 [scsi_tmf_0]
    root        245      2  0 13:32 ?        00:00:00 [scsi_eh_1]
    root        248      2  0 13:32 ?        00:00:00 [scsi_tmf_1]
    root        249      2  0 13:32 ?        00:00:00 [scsi_eh_2]
    root        250      2  0 13:32 ?        00:00:00 [scsi_tmf_2]
    root        253      2  0 13:32 ?        00:00:00 [kworker/u256:3]
    root        258      2  0 13:32 ?        00:00:00 [irq/16-vmwgfx]
    root        259      2  0 13:32 ?        00:00:00 [ttm_swap]
    root        279      2  0 13:32 ?        00:00:00 [bioset]
    root        280      2  0 13:32 ?        00:00:00 [xfsalloc]
    root        281      2  0 13:32 ?        00:00:00 [xfs_mru_cache]
    root        282      2  0 13:32 ?        00:00:00 [xfs-buf/sda3]
    root        283      2  0 13:32 ?        00:00:00 [xfs-data/sda3]
    root        284      2  0 13:32 ?        00:00:00 [xfs-conv/sda3]
    root        285      2  0 13:32 ?        00:00:00 [xfs-cil/sda3]
    root        286      2  0 13:32 ?        00:00:00 [xfs-reclaim/sda]
    root        287      2  0 13:32 ?        00:00:00 [xfs-log/sda3]
    root        288      2  0 13:32 ?        00:00:00 [xfs-eofblocks/s]
    root        289      2  0 13:32 ?        00:00:00 [xfsaild/sda3]
    root        290      2  0 13:32 ?        00:00:00 [kworker/0:1H]
    root        368      1  0 13:33 ?        00:00:00 /usr/lib/systemd/s
    root        399      1  0 13:33 ?        00:00:01 /usr/lib/systemd/s
    root        528      2  0 13:33 ?        00:00:00 [xfs-buf/sda1]
    root        531      2  0 13:33 ?        00:00:00 [xfs-data/sda1]
    root        532      2  0 13:33 ?        00:00:00 [xfs-conv/sda1]
    root        533      2  0 13:33 ?        00:00:00 [xfs-cil/sda1]
    root        534      2  0 13:33 ?        00:00:00 [xfs-reclaim/sda]
    root        535      2  0 13:33 ?        00:00:00 [xfs-log/sda1]
    root        536      2  0 13:33 ?        00:00:00 [xfs-eofblocks/s]
    root        537      2  0 13:33 ?        00:00:00 [xfsaild/sda1]
    root        910      1  0 13:33 ?        00:00:00 /sbin/auditd
    dbus        933      1  0 13:33 ?        00:00:01 /usr/bin/dbus-daem
    root        935      1  0 13:33 ?        00:00:00 /usr/lib/systemd/s
    root        938      1  0 13:33 ?        00:00:01 /usr/bin/VGAuthSer
    root        939      1  0 13:33 ?        00:00:07 /usr/bin/vmtoolsd
    polkitd     940      1  0 13:33 ?        00:00:01 /usr/lib/polkit-1/
    root        942      1  0 13:33 ?        00:00:00 /usr/sbin/abrtd -d
    root        943      1  0 13:33 ?        00:00:00 /usr/bin/abrt-watc
    root        955      1  0 13:33 ?        00:00:00 /usr/sbin/crond -n
    root        958      1  0 13:33 tty1     00:00:00 /sbin/agetty --noc
    root        998      1  0 13:33 ?        00:00:04 /usr/bin/python2 -
    root       1034      1  0 13:33 ?        00:00:01 /usr/sbin/NetworkM
    root       1366      1  0 13:33 ?        00:00:03 /usr/bin/python2 -
    root       1367      1  0 13:33 ?        00:00:00 /usr/sbin/sshd -D
    root       1370      1  0 13:33 ?        00:00:01 /usr/sbin/rsyslogd
    root       1457      1  0 13:33 ?        00:00:00 /usr/libexec/postf
    postfix    1461   1457  0 13:33 ?        00:00:00 qmgr -l -t unix -u
    root       1621   1367  0 13:33 ?        00:00:01 sshd: root@pts/0
    root       1625   1621  0 13:33 pts/0    00:00:00 -bash
    root       1824      2  0 15:00 ?        00:00:00 [kworker/0:3]
    root       1838      2  0 15:05 ?        00:00:00 [kworker/0:1]
    root       1846      2  0 15:10 ?        00:00:00 [kworker/0:0]
    root       1847   1625  0 15:13 pts/0    00:00:00 ps -ef
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93

    ​ 输出信息中各列的说明如下。

    • UID:进程被该UID所拥有。
    • PID:进程的标识号。
    • PPID:进场的父进程的标识号。
    • C:CPU使用的资源百分比。
    • STIME进程开始的时间。
    • TTY:该进程是在哪个终端机上面运作,若与终端机无关,则显示“?”,另外,tty1-tty6是本机上面的登入者进程,若为pts/0等,则表示为由网络连接进主机的进程。
    • TIME:进程所使用的总的CPU时间。
    • CMD:正在执行的命令行。

    ​ 下面是ps与grep的组合用法,用于查找特定进程,比如查找sshd进程等。

    [root@centos7 ~]# ps -ef |grep ssh	#使用grep查找关键字ssh的进程。
    root       1367      1  0 13:33 ?        00:00:00 /usr/sbin/sshd -D
    root       1621   1367  0 13:33 ?        00:00:01 sshd: root@pts/0
    root       1855   1625  0 15:19 pts/0    00:00:00 grep --color=autossh
    
    • 1
    • 2
    • 3
    • 4

    ​ **范例9-3:**ps命令常用操作组合(命令2)。

    [root@centos7 ~]# ps aux	#BSD格式参数,使用a选项和x选项显示所有进程,使用u显示进程的用户信息。
    USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root          1  0.0  0.6 193796  6860 ?        Ss   13:32   0:05 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
    root          2  0.0  0.0      0     0 ?        S    13:32   0:00 [kthreadd]
    root          4  0.0  0.0      0     0 ?        S<   13:32   0:00 [kworker/0:0H]
    root          5  0.0  0.0      0     0 ?        S    13:32   0:00 [kworker/u256:0]
    root          6  0.0  0.0      0     0 ?        S    13:32   0:00 [ksoftirqd/0]
    root          7  0.0  0.0      0     0 ?        S    13:32   0:00 [migration/0]
    root          8  0.0  0.0      0     0 ?        S    13:32   0:00 [rcu_bh]
    root          9  0.0  0.0      0     0 ?        R    13:32   0:01 [rcu_sched]
    root         10  0.0  0.0      0     0 ?        S<   13:32   0:00 [lru-add-drain]
    root         11  0.0  0.0      0     0 ?        S    13:32   0:00 [watchdog/0]
    root         13  0.0  0.0      0     0 ?        S    13:32   0:00 [kdevtmpfs]
    root         14  0.0  0.0      0     0 ?        S<   13:32   0:00 [netns]
    root         15  0.0  0.0      0     0 ?        S    13:32   0:00 [khungtaskd]
    root         16  0.0  0.0      0     0 ?        S<   13:32   0:00 [writeback]
    root         17  0.0  0.0      0     0 ?        S<   13:32   0:00 [kintegrityd]
    root         18  0.0  0.0      0     0 ?        S<   13:32   0:00 [bioset]
    root         19  0.0  0.0      0     0 ?        S<   13:32   0:00 [bioset]
    root         20  0.0  0.0      0     0 ?        S<   13:32   0:00 [bioset]
    root         21  0.0  0.0      0     0 ?        S<   13:32   0:00 [kblockd]
    root         22  0.0  0.0      0     0 ?        S<   13:32   0:00 [md]
    root         23  0.0  0.0      0     0 ?        S<   13:32   0:00 [edac-poller]
    root         24  0.0  0.0      0     0 ?        S<   13:32   0:00 [watchdogd]
    root         30  0.0  0.0      0     0 ?        S    13:32   0:00 [kswapd0]
    root         31  0.0  0.0      0     0 ?        SN   13:32   0:00 [ksmd]
    root         32  0.0  0.0      0     0 ?        SN   13:32   0:00 [khugepaged]
    root         33  0.0  0.0      0     0 ?        S<   13:32   0:00 [crypto]
    root         41  0.0  0.0      0     0 ?        S<   13:32   0:00 [kthrotld]
    root         43  0.0  0.0      0     0 ?        S<   13:32   0:00 [kmpath_rdacd]
    root         44  0.0  0.0      0     0 ?        S<   13:32   0:00 [kaluad]
    root         45  0.0  0.0      0     0 ?        S<   13:32   0:00 [kpsmoused]
    root         47  0.0  0.0      0     0 ?        S<   13:32   0:00 [ipv6_addrconf]
    root         60  0.0  0.0      0     0 ?        S<   13:32   0:00 [deferwq]
    root         95  0.0  0.0      0     0 ?        S    13:32   0:00 [kauditd]
    root        233  0.0  0.0      0     0 ?        S<   13:32   0:00 [ata_sff]
    root        234  0.0  0.0      0     0 ?        S<   13:32   0:00 [nfit]
    root        235  0.0  0.0      0     0 ?        S<   13:32   0:00 [mpt_poll_0]
    root        236  0.0  0.0      0     0 ?        S<   13:32   0:00 [mpt/0]
    root        239  0.0  0.0      0     0 ?        S    13:32   0:00 [scsi_eh_0]
    root        241  0.0  0.0      0     0 ?        S<   13:32   0:00 [scsi_tmf_0]
    root        245  0.0  0.0      0     0 ?        S    13:32   0:00 [scsi_eh_1]
    root        248  0.0  0.0      0     0 ?        S<   13:32   0:00 [scsi_tmf_1]
    root        249  0.0  0.0      0     0 ?        S    13:32   0:00 [scsi_eh_2]
    root        250  0.0  0.0      0     0 ?        S<   13:32   0:00 [scsi_tmf_2]
    root        253  0.0  0.0      0     0 ?        S    13:32   0:00 [kworker/u256:3]
    root        258  0.0  0.0      0     0 ?        S    13:32   0:00 [irq/16-vmwgfx]
    root        259  0.0  0.0      0     0 ?        S<   13:32   0:00 [ttm_swap]
    root        279  0.0  0.0      0     0 ?        S<   13:32   0:00 [bioset]
    root        280  0.0  0.0      0     0 ?        S<   13:32   0:00 [xfsalloc]
    root        281  0.0  0.0      0     0 ?        S<   13:32   0:00 [xfs_mru_cache]
    root        282  0.0  0.0      0     0 ?        S<   13:32   0:00 [xfs-buf/sda3]
    root        283  0.0  0.0      0     0 ?        S<   13:32   0:00 [xfs-data/sda3]
    root        284  0.0  0.0      0     0 ?        S<   13:32   0:00 [xfs-conv/sda3]
    root        285  0.0  0.0      0     0 ?        S<   13:32   0:00 [xfs-cil/sda3]
    root        286  0.0  0.0      0     0 ?        S<   13:32   0:00 [xfs-reclaim/sda]
    root        287  0.0  0.0      0     0 ?        S<   13:32   0:00 [xfs-log/sda3]
    root        288  0.0  0.0      0     0 ?        S<   13:32   0:00 [xfs-eofblocks/s]
    root        289  0.0  0.0      0     0 ?        S    13:32   0:00 [xfsaild/sda3]
    root        290  0.0  0.0      0     0 ?        S<   13:32   0:00 [kworker/0:1H]
    root        368  0.0  0.2  37112  2792 ?        Ss   13:33   0:00 /usr/lib/systemd/systemd-journald
    root        399  0.0  0.5  48812  5844 ?        Ss   13:33   0:01 /usr/lib/systemd/systemd-udevd
    root        528  0.0  0.0      0     0 ?        S<   13:33   0:00 [xfs-buf/sda1]
    root        531  0.0  0.0      0     0 ?        S<   13:33   0:00 [xfs-data/sda1]
    root        532  0.0  0.0      0     0 ?        S<   13:33   0:00 [xfs-conv/sda1]
    root        533  0.0  0.0      0     0 ?        S<   13:33   0:00 [xfs-cil/sda1]
    root        534  0.0  0.0      0     0 ?        S<   13:33   0:00 [xfs-reclaim/sda]
    root        535  0.0  0.0      0     0 ?        S<   13:33   0:00 [xfs-log/sda1]
    root        536  0.0  0.0      0     0 ?        S<   13:33   0:00 [xfs-eofblocks/s]
    root        537  0.0  0.0      0     0 ?        S    13:33   0:00 [xfsaild/sda1]
    root        910  0.0  0.0  55532   852 ?        S<sl 13:33   0:00 /sbin/auditd
    dbus        933  0.0  0.2  66476  2572 ?        Ssl  13:33   0:01 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile 
    root        935  0.0  0.1  26384  1764 ?        Ss   13:33   0:00 /usr/lib/systemd/systemd-logind
    root        938  0.0  0.6  99688  6192 ?        Ss   13:33   0:01 /usr/bin/VGAuthService -s
    root        939  0.1  0.6 305284  6504 ?        Ssl  13:33   0:08 /usr/bin/vmtoolsd
    polkitd     940  0.0  1.4 613020 13944 ?        Ssl  13:33   0:01 /usr/lib/polkit-1/polkitd --no-debug
    root        942  0.0  0.5 228200  5656 ?        Ss   13:33   0:00 /usr/sbin/abrtd -d -s
    root        943  0.0  0.4 225856  4808 ?        Ss   13:33   0:00 /usr/bin/abrt-watch-log -F BUG: WARNING: at WARNING: CPU: INFO: possib
    root        955  0.0  0.1 126388  1664 ?        Ss   13:33   0:00 /usr/sbin/crond -n
    root        958  0.0  0.0 110204   852 tty1     Ss+  13:33   0:00 /sbin/agetty --noclear tty1 linux
    root        998  0.0  2.9 358852 29524 ?        Ssl  13:33   0:04 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
    root       1034  0.0  0.8 474208  8588 ?        Ssl  13:33   0:01 /usr/sbin/NetworkManager --no-daemon
    root       1366  0.0  1.9 574304 19532 ?        Ssl  13:33   0:03 /usr/bin/python2 -Es /usr/sbin/tuned -l -P
    root       1367  0.0  0.4 112924  4308 ?        Ss   13:33   0:00 /usr/sbin/sshd -D
    root       1370  0.0  0.4 216584  4740 ?        Ssl  13:33   0:01 /usr/sbin/rsyslogd -n
    root       1457  0.0  0.2  89704  2136 ?        Ss   13:33   0:00 /usr/libexec/postfix/master -w
    postfix    1461  0.0  0.4  89876  4084 ?        S    13:33   0:00 qmgr -l -t unix -u
    root       1621  0.0  0.5 158928  5604 ?        Ss   13:33   0:01 sshd: root@pts/0
    root       1625  0.0  0.3 116600  3268 pts/0    Ss   13:33   0:00 -bash
    root       1824  0.0  0.0      0     0 ?        S    15:00   0:00 [kworker/0:3]
    root       1846  0.0  0.0      0     0 ?        R    15:10   0:00 [kworker/0:0]
    postfix    1852  0.0  0.4  89808  4060 ?        S    15:13   0:00 pickup -l -t unix -u
    root       1853  0.0  0.0      0     0 ?        S    15:15   0:00 [kworker/0:1]
    root       1862  0.0  0.1 155472  1856 pts/0    R+   15:20   0:00 ps aux
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94

    ​ 输出信息中各列的说明如下。

    • USER:该进程属于的用户。
    • PID:该进程的进程号。
    • %CPU:该进程使用掉的CPU资源百分比。
    • %MEM:该进程所占用的物理内存百分比。
    • VSZ:该进程使用掉的虚拟内存量(单位为Kbytes)。
    • RSS:该进程占用的股东的内存量(单位为Kbytes)。
    • TTY:该进程是在哪个终端机上面运作,若与终端机无关,则显示“?”,另外,tty1-tty6是本机上面的登入者进程,若为pts/0等,则表示为由网络连接进主机的进程。
    • STAT:该进程目前的状态,主要的状态包括以下几种。
    • R:正在运行,或者是可以运行。
    • S:正在终端睡眠中,可以由某些信号(signal)唤醒。
    • D:不可中断睡眠。
    • T:正在侦测或者是停止了。
    • Z:已经终止,但是其父进程无法正常终止它,从而变成zombie(僵尸)进程的状态。
    • +:前台进程。
    • l:多线程进程。
    • N:低优先级进程。
    • <:高优先级进程。
    • s:进程领导者。
    • L:已将页面锁定到内存中。
    • START:该进程被触发启动的时间。
    • TIME:该进程实际使用CPU运作的时间。
    • COMMAND:该进程的实际命令。

    ​ **范例9-4:**显示指定用户的相关进程信息。

    [root@centos7 ~]# ps -u root	#UNIX格式参数,使用-u显示指定用户相关的进程信息。
       PID TTY          TIME CMD
         1 ?        00:00:05 systemd
         2 ?        00:00:00 kthreadd
         4 ?        00:00:00 kworker/0:0H
         5 ?        00:00:00 kworker/u256:0
         6 ?        00:00:00 ksoftirqd/0
         7 ?        00:00:00 migration/0
         8 ?        00:00:00 rcu_bh
         9 ?        00:00:01 rcu_sched
        10 ?        00:00:00 lru-add-drain
        11 ?        00:00:00 watchdog/0
        13 ?        00:00:00 kdevtmpfs
        14 ?        00:00:00 netns
        15 ?        00:00:00 khungtaskd
        16 ?        00:00:00 writeback
        17 ?        00:00:00 kintegrityd
        18 ?        00:00:00 bioset
        19 ?        00:00:00 bioset
        20 ?        00:00:00 bioset
        21 ?        00:00:00 kblockd
        22 ?        00:00:00 md
        23 ?        00:00:00 edac-poller
        24 ?        00:00:00 watchdogd
        30 ?        00:00:00 kswapd0
        31 ?        00:00:00 ksmd
        32 ?        00:00:00 khugepaged
        33 ?        00:00:00 crypto
        41 ?        00:00:00 kthrotld
        43 ?        00:00:00 kmpath_rdacd
        44 ?        00:00:00 kaluad
        45 ?        00:00:00 kpsmoused
        47 ?        00:00:00 ipv6_addrconf
        60 ?        00:00:00 deferwq
        95 ?        00:00:00 kauditd
       233 ?        00:00:00 ata_sff
       234 ?        00:00:00 nfit
       235 ?        00:00:00 mpt_poll_0
       236 ?        00:00:00 mpt/0
       239 ?        00:00:00 scsi_eh_0
       241 ?        00:00:00 scsi_tmf_0
       245 ?        00:00:00 scsi_eh_1
       248 ?        00:00:00 scsi_tmf_1
       249 ?        00:00:00 scsi_eh_2
       250 ?        00:00:00 scsi_tmf_2
       253 ?        00:00:00 kworker/u256:3
       258 ?        00:00:00 irq/16-vmwgfx
       259 ?        00:00:00 ttm_swap
       279 ?        00:00:00 bioset
       280 ?        00:00:00 xfsalloc
       281 ?        00:00:00 xfs_mru_cache
       282 ?        00:00:00 xfs-buf/sda3
       283 ?        00:00:00 xfs-data/sda3
       284 ?        00:00:00 xfs-conv/sda3
       285 ?        00:00:00 xfs-cil/sda3
       286 ?        00:00:00 xfs-reclaim/sda
       287 ?        00:00:00 xfs-log/sda3
       288 ?        00:00:00 xfs-eofblocks/s
       289 ?        00:00:00 xfsaild/sda3
       290 ?        00:00:00 kworker/0:1H
       368 ?        00:00:00 systemd-journal
       399 ?        00:00:01 systemd-udevd
       528 ?        00:00:00 xfs-buf/sda1
       531 ?        00:00:00 xfs-data/sda1
       532 ?        00:00:00 xfs-conv/sda1
       533 ?        00:00:00 xfs-cil/sda1
       534 ?        00:00:00 xfs-reclaim/sda
       535 ?        00:00:00 xfs-log/sda1
       536 ?        00:00:00 xfs-eofblocks/s
       537 ?        00:00:00 xfsaild/sda1
       910 ?        00:00:00 auditd
       935 ?        00:00:00 systemd-logind
       938 ?        00:00:01 VGAuthService
       939 ?        00:00:09 vmtoolsd
       942 ?        00:00:00 abrtd
       943 ?        00:00:00 abrt-watch-log
       955 ?        00:00:00 crond
       958 tty1     00:00:00 agetty
       998 ?        00:00:04 firewalld
      1034 ?        00:00:01 NetworkManager
      1366 ?        00:00:03 tuned
      1367 ?        00:00:00 sshd
      1370 ?        00:00:01 rsyslogd
      1457 ?        00:00:00 master
      1621 ?        00:00:01 sshd
      1625 pts/0    00:00:00 bash
      1846 ?        00:00:00 kworker/0:0
      1853 ?        00:00:00 kworker/0:1
      1873 ?        00:00:00 kworker/0:2
      1880 pts/0    00:00:00 ps
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90

    ​ **范例9-5:**以详细的格式显示进程状况。

    [root@centos7 ~]# ps -l	#Unix格式参数,使用参数-l以详细的格式显示进场的状况。
    F S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
    4 S     0   1625   1621  0  80   0 - 29150 do_wai pts/0    00:00:00 bash
    0 R     0   1882   1625  0  80   0 - 38337 -      pts/0    00:00:00 ps
    
    • 1
    • 2
    • 3
    • 4

    ​ 输出信息中各列的说明如下。

    • F:代表这个进程的标志(flag),4代表使用者为super user。
    • S:代表这个进程的状态(STAT),前面已经讲解过。
    • UID:进程被该UID所拥有。
    • PID:进程的标识号。
    • PPID:父进程的ID。
    • C:CPU使用的资源百分比。
    • PRI:Priority(优先执行序)的缩写。
    • NI:Nice值。
    • ADDR:指出该进程在内存的哪个部分。如果是个running的进程,则一般是“-”。
    • SZ:使用掉的内存大小。
    • WCHAN:目前这个进程是否正在运作当中,若为“-”则表示正在运作。
    • TTY:该进程是在哪个终端机上面运作,若与终端机无关,则显示“?”,另外,tty1-tty6是本机上面的登入者进程,若为pts/0等,则表示为由网络连接进主机的进程。
    • TIME:该进程实际使用CPU运作的时间。
    • CMD:该进程的实际命令。

    ​ **范例9-6:**显示进程树。

    [root@centos7 ~]# ps -eH	#Unix格式参数,使用-e参数显示所有进程,使用-H参数显示进程树。
       PID TTY          TIME CMD
         2 ?        00:00:00 kthreadd
         4 ?        00:00:00   kworker/0:0H
         5 ?        00:00:00   kworker/u256:0
         6 ?        00:00:00   ksoftirqd/0
         7 ?        00:00:00   migration/0
         8 ?        00:00:00   rcu_bh
         9 ?        00:00:01   rcu_sched
        10 ?        00:00:00   lru-add-drain
        11 ?        00:00:00   watchdog/0
        13 ?        00:00:00   kdevtmpfs
        14 ?        00:00:00   netns
        15 ?        00:00:00   khungtaskd
        16 ?        00:00:00   writeback
        17 ?        00:00:00   kintegrityd
        18 ?        00:00:00   bioset
        19 ?        00:00:00   bioset
        20 ?        00:00:00   bioset
        21 ?        00:00:00   kblockd
        22 ?        00:00:00   md
        23 ?        00:00:00   edac-poller
        24 ?        00:00:00   watchdogd
        30 ?        00:00:00   kswapd0
        31 ?        00:00:00   ksmd
        32 ?        00:00:00   khugepaged
        33 ?        00:00:00   crypto
        41 ?        00:00:00   kthrotld
        43 ?        00:00:00   kmpath_rdacd
        44 ?        00:00:00   kaluad
        45 ?        00:00:00   kpsmoused
        47 ?        00:00:00   ipv6_addrconf
        60 ?        00:00:00   deferwq
        95 ?        00:00:00   kauditd
       233 ?        00:00:00   ata_sff
       234 ?        00:00:00   nfit
       235 ?        00:00:00   mpt_poll_0
       236 ?        00:00:00   mpt/0
       239 ?        00:00:00   scsi_eh_0
       241 ?        00:00:00   scsi_tmf_0
       245 ?        00:00:00   scsi_eh_1
       248 ?        00:00:00   scsi_tmf_1
       249 ?        00:00:00   scsi_eh_2
       250 ?        00:00:00   scsi_tmf_2
       253 ?        00:00:00   kworker/u256:3
       258 ?        00:00:00   irq/16-vmwgfx
       259 ?        00:00:00   ttm_swap
       279 ?        00:00:00   bioset
       280 ?        00:00:00   xfsalloc
       281 ?        00:00:00   xfs_mru_cache
       282 ?        00:00:00   xfs-buf/sda3
       283 ?        00:00:00   xfs-data/sda3
       284 ?        00:00:00   xfs-conv/sda3
       285 ?        00:00:00   xfs-cil/sda3
       286 ?        00:00:00   xfs-reclaim/sda
       287 ?        00:00:00   xfs-log/sda3
       288 ?        00:00:00   xfs-eofblocks/s
       289 ?        00:00:00   xfsaild/sda3
       290 ?        00:00:00   kworker/0:1H
       528 ?        00:00:00   xfs-buf/sda1
       531 ?        00:00:00   xfs-data/sda1
       532 ?        00:00:00   xfs-conv/sda1
       533 ?        00:00:00   xfs-cil/sda1
       534 ?        00:00:00   xfs-reclaim/sda
       535 ?        00:00:00   xfs-log/sda1
       536 ?        00:00:00   xfs-eofblocks/s
       537 ?        00:00:00   xfsaild/sda1
      1846 ?        00:00:00   kworker/0:0
      1881 ?        00:00:00   kworker/0:1
      1883 ?        00:00:00   kworker/0:2
         1 ?        00:00:05 systemd
       368 ?        00:00:00   systemd-journal
       399 ?        00:00:01   systemd-udevd
       910 ?        00:00:00   auditd
       933 ?        00:00:01   dbus-daemon
       935 ?        00:00:00   systemd-logind
       938 ?        00:00:01   VGAuthService
       939 ?        00:00:09   vmtoolsd
       940 ?        00:00:01   polkitd
       942 ?        00:00:00   abrtd
       943 ?        00:00:00   abrt-watch-log
       955 ?        00:00:00   crond
       958 tty1     00:00:00   agetty
       998 ?        00:00:04   firewalld
      1034 ?        00:00:01   NetworkManager
      1366 ?        00:00:03   tuned
      1367 ?        00:00:00   sshd
      1621 ?        00:00:01     sshd
      1625 pts/0    00:00:00       bash
      1884 pts/0    00:00:00         ps
      1370 ?        00:00:01   rsyslogd
      1457 ?        00:00:00   master
      1461 ?        00:00:00     qmgr
      1852 ?        00:00:00     pickup
      
    [root@centos7 ~]# ps axf	#BSD格式参数,使用a和x参数显示所有进程,使用f显示进程树。
       PID TTY      STAT   TIME COMMAND
         2 ?        S      0:00 [kthreadd]
         4 ?        S<     0:00  \_ [kworker/0:0H]
         5 ?        S      0:00  \_ [kworker/u256:0]
         6 ?        S      0:00  \_ [ksoftirqd/0]
         7 ?        S      0:00  \_ [migration/0]
         8 ?        S      0:00  \_ [rcu_bh]
         9 ?        R      0:01  \_ [rcu_sched]
        10 ?        S<     0:00  \_ [lru-add-drain]
        11 ?        S      0:00  \_ [watchdog/0]
        13 ?        S      0:00  \_ [kdevtmpfs]
        14 ?        S<     0:00  \_ [netns]
        15 ?        S      0:00  \_ [khungtaskd]
        16 ?        S<     0:00  \_ [writeback]
        17 ?        S<     0:00  \_ [kintegrityd]
        18 ?        S<     0:00  \_ [bioset]
        19 ?        S<     0:00  \_ [bioset]
        20 ?        S<     0:00  \_ [bioset]
        21 ?        S<     0:00  \_ [kblockd]
        22 ?        S<     0:00  \_ [md]
        23 ?        S<     0:00  \_ [edac-poller]
        24 ?        S<     0:00  \_ [watchdogd]
        30 ?        S      0:00  \_ [kswapd0]
        31 ?        SN     0:00  \_ [ksmd]
        32 ?        SN     0:00  \_ [khugepaged]
        33 ?        S<     0:00  \_ [crypto]
        41 ?        S<     0:00  \_ [kthrotld]
        43 ?        S<     0:00  \_ [kmpath_rdacd]
        44 ?        S<     0:00  \_ [kaluad]
        45 ?        S<     0:00  \_ [kpsmoused]
        47 ?        S<     0:00  \_ [ipv6_addrconf]
        60 ?        S<     0:00  \_ [deferwq]
        95 ?        S      0:00  \_ [kauditd]
       233 ?        S<     0:00  \_ [ata_sff]
       234 ?        S<     0:00  \_ [nfit]
       235 ?        S<     0:00  \_ [mpt_poll_0]
       236 ?        S<     0:00  \_ [mpt/0]
       239 ?        S      0:00  \_ [scsi_eh_0]
       241 ?        S<     0:00  \_ [scsi_tmf_0]
       245 ?        S      0:00  \_ [scsi_eh_1]
       248 ?        S<     0:00  \_ [scsi_tmf_1]
       249 ?        S      0:00  \_ [scsi_eh_2]
       250 ?        S<     0:00  \_ [scsi_tmf_2]
       253 ?        S      0:00  \_ [kworker/u256:3]
       258 ?        S      0:00  \_ [irq/16-vmwgfx]
       259 ?        S<     0:00  \_ [ttm_swap]
       279 ?        S<     0:00  \_ [bioset]
       280 ?        S<     0:00  \_ [xfsalloc]
       281 ?        S<     0:00  \_ [xfs_mru_cache]
       282 ?        S<     0:00  \_ [xfs-buf/sda3]
       283 ?        S<     0:00  \_ [xfs-data/sda3]
       284 ?        S<     0:00  \_ [xfs-conv/sda3]
       285 ?        S<     0:00  \_ [xfs-cil/sda3]
       286 ?        S<     0:00  \_ [xfs-reclaim/sda]
       287 ?        S<     0:00  \_ [xfs-log/sda3]
       288 ?        S<     0:00  \_ [xfs-eofblocks/s]
       289 ?        S      0:00  \_ [xfsaild/sda3]
       290 ?        S<     0:00  \_ [kworker/0:1H]
       528 ?        S<     0:00  \_ [xfs-buf/sda1]
       531 ?        S<     0:00  \_ [xfs-data/sda1]
       532 ?        S<     0:00  \_ [xfs-conv/sda1]
       533 ?        S<     0:00  \_ [xfs-cil/sda1]
       534 ?        S<     0:00  \_ [xfs-reclaim/sda]
       535 ?        S<     0:00  \_ [xfs-log/sda1]
       536 ?        S<     0:00  \_ [xfs-eofblocks/s]
       537 ?        S      0:00  \_ [xfsaild/sda1]
      1846 ?        S      0:00  \_ [kworker/0:0]
      1881 ?        S      0:00  \_ [kworker/0:1]
      1883 ?        S      0:00  \_ [kworker/0:2]
         1 ?        Ss     0:05 /usr/lib/systemd/systemd --switched-root
       368 ?        Ss     0:00 /usr/lib/systemd/systemd-journald
       399 ?        Ss     0:01 /usr/lib/systemd/systemd-udevd
       910 ?        S<sl   0:00 /sbin/auditd
       933 ?        Ssl    0:01 /usr/bin/dbus-daemon --system --address=
       935 ?        Ss     0:00 /usr/lib/systemd/systemd-logind
       938 ?        Ss     0:01 /usr/bin/VGAuthService -s
       939 ?        Ssl    0:09 /usr/bin/vmtoolsd
       940 ?        Ssl    0:01 /usr/lib/polkit-1/polkitd --no-debug
       942 ?        Ss     0:00 /usr/sbin/abrtd -d -s
       943 ?        Ss     0:00 /usr/bin/abrt-watch-log -F BUG: WARNING:
       955 ?        Ss     0:00 /usr/sbin/crond -n
       958 tty1     Ss+    0:00 /sbin/agetty --noclear tty1 linux
       998 ?        Ssl    0:04 /usr/bin/python2 -Es /usr/sbin/firewalld
      1034 ?        Ssl    0:01 /usr/sbin/NetworkManager --no-daemon
      1366 ?        Ssl    0:03 /usr/bin/python2 -Es /usr/sbin/tuned -l 
      1367 ?        Ss     0:00 /usr/sbin/sshd -D
      1621 ?        Ss     0:01  \_ sshd: root@pts/0
      1625 pts/0    Ss     0:00      \_ -bash
      1885 pts/0    R+     0:00          \_ ps axf
      1370 ?        Ssl    0:01 /usr/sbin/rsyslogd -n
      1457 ?        Ss     0:00 /usr/libexec/postfix/master -w
      1461 ?        S      0:00  \_ qmgr -l -t unix -u
      1852 ?        S      0:00  \_ pickup -l -t unix -u
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140
    • 141
    • 142
    • 143
    • 144
    • 145
    • 146
    • 147
    • 148
    • 149
    • 150
    • 151
    • 152
    • 153
    • 154
    • 155
    • 156
    • 157
    • 158
    • 159
    • 160
    • 161
    • 162
    • 163
    • 164
    • 165
    • 166
    • 167
    • 168
    • 169
    • 170
    • 171
    • 172
    • 173
    • 174
    • 175
    • 176
    • 177
    • 178
    • 179
    • 180
    • 181
    • 182
    • 183
    • 184
    • 185
    • 186
    • 187
    • 188
    • 189

    ​ **范例9-7:**输出指出的字段。

    ​ (1)AIX格式:ps -eo “%p%y%x%c”

    ​ 语法说明:-e是显示所有进程,-o表示可以自定义输出指定的字段,以逗号分隔,其支持的字段见下面的代码。

    AIX FORMAT DESCRIPTORS	#man ps 查询这个字段。
    CODE	NORMAL	HEADER
    代码	   标准含义  命令行表头内容
    %C     pcpu     %CPU
    %G     group    GROUP
    %P     ppid     PPID
    %U     user     USER
    %a     args     COMMAND
    %c     comm     COMMAND
    %g     rgroup   RGROUP
    %n     nice     NI
    %p     pid      PID
    %r     pgid     PGID
    %t     etime    ELAPSED
    
    %u     ruser    RUSER
    %x     time     TIME
    %y     tty      TTY
    %z     vsz      VSZ
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    ​ (2)标准格式:ps -eo pid,user,args-sort pid

    ​ 其支持的字段比较多,请大家查询man ps并搜索STANDARD PORMAT SPECIFIERS来了解。

    [root@centos7 ~]# ps -o pid,ppid,pgrp,session,tpgid,comm	#-o后面接上要显示的字段,可以和命令结果的第一行进行对比。
       PID   PPID   PGRP   SESS  TPGID COMMAND
      1625   1621   1625   1625   1913 bash
      1913   1625   1913   1625   1913 ps
      
    #查看进程并按vsz列从大到小排列,--sort vsz或--sort +vsz表示从小到大升序排列,--sort -vsz表示从大到小降序排列。
    [root@centos7 ~]# ps -eo "%C : %p : %z : %a" --sort -vsz
    %CPU :    PID :    VSZ : COMMAND
     0.0 :    940 : 613020 : /usr/lib/polkit-1/polkitd --no-debug
     0.0 :   1366 : 574304 : /usr/bin/python2 -Es /usr/sbin/tuned -l -P
     0.0 :   1034 : 474208 : /usr/sbin/NetworkManager --no-daemon
     0.0 :    998 : 358852 : /usr/bin/python2 -Es /usr/sbin/firewalld --
     0.1 :    939 : 305284 : /usr/bin/vmtoolsd
     0.0 :    942 : 228200 : /usr/sbin/abrtd -d -s
     0.0 :    943 : 225856 : /usr/bin/abrt-watch-log -F BUG: WARNING: at
     0.0 :   1370 : 216584 : /usr/sbin/rsyslogd -n
     0.0 :      1 : 193796 : /usr/lib/systemd/systemd --switched-root --
     0.0 :   1621 : 158928 : sshd: root@pts/0
     0.0 :   1933 : 153480 : ps -eo %C : %p : %z : %a --sort -vsz
     0.0 :    955 : 126388 : /usr/sbin/crond -n
     0.0 :   1625 : 116600 : -bash
     0.0 :   1367 : 112924 : /usr/sbin/sshd -D
     0.0 :    958 : 110204 : /sbin/agetty --noclear tty1 linux
     0.0 :    938 :  99688 : /usr/bin/VGAuthService -s
     0.0 :   1461 :  89876 : qmgr -l -t unix -u
     0.0 :   1852 :  89808 : pickup -l -t unix -u
     0.0 :   1457 :  89704 : /usr/libexec/postfix/master -w
     0.0 :    933 :  66476 : /usr/bin/dbus-daemon --system --address=sys
     0.0 :    910 :  55532 : /sbin/auditd
     0.0 :    399 :  48812 : /usr/lib/systemd/systemd-udevd
     0.0 :    368 :  37112 : /usr/lib/systemd/systemd-journald
     0.0 :    935 :  26384 : /usr/lib/systemd/systemd-logind
     0.0 :      2 :      0 : [kthreadd]
     0.0 :      4 :      0 : [kworker/0:0H]
     0.0 :      5 :      0 : [kworker/u256:0]
     0.0 :      6 :      0 : [ksoftirqd/0]
     0.0 :      7 :      0 : [migration/0]
     0.0 :      8 :      0 : [rcu_bh]
     0.0 :      9 :      0 : [rcu_sched]
     0.0 :     10 :      0 : [lru-add-drain]
     0.0 :     11 :      0 : [watchdog/0]
     0.0 :     13 :      0 : [kdevtmpfs]
     0.0 :     14 :      0 : [netns]
     0.0 :     15 :      0 : [khungtaskd]
     0.0 :     16 :      0 : [writeback]
     0.0 :     17 :      0 : [kintegrityd]
     0.0 :     18 :      0 : [bioset]
     0.0 :     19 :      0 : [bioset]
     0.0 :     20 :      0 : [bioset]
     0.0 :     21 :      0 : [kblockd]
     0.0 :     22 :      0 : [md]
     0.0 :     23 :      0 : [edac-poller]
     0.0 :     24 :      0 : [watchdogd]
     0.0 :     30 :      0 : [kswapd0]
     0.0 :     31 :      0 : [ksmd]
     0.0 :     32 :      0 : [khugepaged]
     0.0 :     33 :      0 : [crypto]
     0.0 :     41 :      0 : [kthrotld]
     0.0 :     43 :      0 : [kmpath_rdacd]
     0.0 :     44 :      0 : [kaluad]
     0.0 :     45 :      0 : [kpsmoused]
     0.0 :     47 :      0 : [ipv6_addrconf]
     0.0 :     60 :      0 : [deferwq]
     0.0 :     95 :      0 : [kauditd]
     0.0 :    233 :      0 : [ata_sff]
     0.0 :    234 :      0 : [nfit]
     0.0 :    235 :      0 : [mpt_poll_0]
     0.0 :    236 :      0 : [mpt/0]
     0.0 :    239 :      0 : [scsi_eh_0]
     0.0 :    241 :      0 : [scsi_tmf_0]
     0.0 :    245 :      0 : [scsi_eh_1]
     0.0 :    248 :      0 : [scsi_tmf_1]
     0.0 :    249 :      0 : [scsi_eh_2]
     0.0 :    250 :      0 : [scsi_tmf_2]
     0.0 :    253 :      0 : [kworker/u256:3]
     0.0 :    258 :      0 : [irq/16-vmwgfx]
     0.0 :    259 :      0 : [ttm_swap]
     0.0 :    279 :      0 : [bioset]
     0.0 :    280 :      0 : [xfsalloc]
     0.0 :    281 :      0 : [xfs_mru_cache]
     0.0 :    282 :      0 : [xfs-buf/sda3]
     0.0 :    283 :      0 : [xfs-data/sda3]
     0.0 :    284 :      0 : [xfs-conv/sda3]
     0.0 :    285 :      0 : [xfs-cil/sda3]
     0.0 :    286 :      0 : [xfs-reclaim/sda]
     0.0 :    287 :      0 : [xfs-log/sda3]
     0.0 :    288 :      0 : [xfs-eofblocks/s]
     0.0 :    289 :      0 : [xfsaild/sda3]
     0.0 :    290 :      0 : [kworker/0:1H]
     0.0 :    528 :      0 : [xfs-buf/sda1]
     0.0 :    531 :      0 : [xfs-data/sda1]
     0.0 :    532 :      0 : [xfs-conv/sda1]
     0.0 :    533 :      0 : [xfs-cil/sda1]
     0.0 :    534 :      0 : [xfs-reclaim/sda]
     0.0 :    535 :      0 : [xfs-log/sda1]
     0.0 :    536 :      0 : [xfs-eofblocks/s]
     0.0 :    537 :      0 : [xfsaild/sda1]
     0.0 :   1883 :      0 : [kworker/0:2]
     0.0 :   1910 :      0 : [kworker/0:0]
     0.0 :   1920 :      0 : [kworker/0:1]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100

    ​ 查看某个进程在哪个CPU上运行:

    [root@centos7 ~]# ps -eo pid,args,psr
       PID COMMAND                     PSR
         1 /usr/lib/systemd/systemd --   0
         2 [kthreadd]                    0
         4 [kworker/0:0H]                0
         5 [kworker/u256:0]              0
         6 [ksoftirqd/0]                 0
         7 [migration/0]                 0
         8 [rcu_bh]                      0
         9 [rcu_sched]                   0
        10 [lru-add-drain]               0
        11 [watchdog/0]                  0
        13 [kdevtmpfs]                   0
        14 [netns]                       0
        15 [khungtaskd]                  0
        16 [writeback]                   0
        17 [kintegrityd]                 0
        18 [bioset]                      0
        19 [bioset]                      0
        20 [bioset]                      0
        21 [kblockd]                     0
        22 [md]                          0
        23 [edac-poller]                 0
        24 [watchdogd]                   0
        30 [kswapd0]                     0
        31 [ksmd]                        0
        32 [khugepaged]                  0
        33 [crypto]                      0
        41 [kthrotld]                    0
        43 [kmpath_rdacd]                0
        44 [kaluad]                      0
        45 [kpsmoused]                   0
        47 [ipv6_addrconf]               0
        60 [deferwq]                     0
        95 [kauditd]                     0
       233 [ata_sff]                     0
       234 [nfit]                        0
       235 [mpt_poll_0]                  0
       236 [mpt/0]                       0
       239 [scsi_eh_0]                   0
       241 [scsi_tmf_0]                  0
       245 [scsi_eh_1]                   0
       248 [scsi_tmf_1]                  0
       249 [scsi_eh_2]                   0
       250 [scsi_tmf_2]                  0
       253 [kworker/u256:3]              0
       258 [irq/16-vmwgfx]               0
       259 [ttm_swap]                    0
       279 [bioset]                      0
       280 [xfsalloc]                    0
       281 [xfs_mru_cache]               0
       282 [xfs-buf/sda3]                0
       283 [xfs-data/sda3]               0
       284 [xfs-conv/sda3]               0
       285 [xfs-cil/sda3]                0
       286 [xfs-reclaim/sda]             0
       287 [xfs-log/sda3]                0
       288 [xfs-eofblocks/s]             0
       289 [xfsaild/sda3]                0
       290 [kworker/0:1H]                0
       368 /usr/lib/systemd/systemd-jo   0
       399 /usr/lib/systemd/systemd-ud   0
       528 [xfs-buf/sda1]                0
       531 [xfs-data/sda1]               0
       532 [xfs-conv/sda1]               0
       533 [xfs-cil/sda1]                0
       534 [xfs-reclaim/sda]             0
       535 [xfs-log/sda1]                0
       536 [xfs-eofblocks/s]             0
       537 [xfsaild/sda1]                0
       910 /sbin/auditd                  0
       933 /usr/bin/dbus-daemon --syst   0
       935 /usr/lib/systemd/systemd-lo   0
       938 /usr/bin/VGAuthService -s     0
       939 /usr/bin/vmtoolsd             0
       940 /usr/lib/polkit-1/polkitd -   0
       942 /usr/sbin/abrtd -d -s         0
       943 /usr/bin/abrt-watch-log -F    0
       955 /usr/sbin/crond -n            0
       958 /sbin/agetty --noclear tty1   0
       998 /usr/bin/python2 -Es /usr/s   0
      1034 /usr/sbin/NetworkManager --   0
      1366 /usr/bin/python2 -Es /usr/s   0
      1367 /usr/sbin/sshd -D             0
      1370 /usr/sbin/rsyslogd -n         0
      1457 /usr/libexec/postfix/master   0
      1461 qmgr -l -t unix -u            0
      1621 sshd: root@pts/0              0
      1625 -bash                         0
      1852 pickup -l -t unix -u          0
      1883 [kworker/0:2]                 0
      1910 [kworker/0:0]                 0
      1920 [kworker/0:1]                 0
      1934 ps -eo pid,args,psr           0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94

    9.2 pstree:显示进程状态树

    9.2.1 命令详解

    【命令星级】 ★★★★☆

    【功能说明】

    ​ pstree命令以树形结构显示进程和进程之间的关系。

    【语法格式】

    pstree [option] [<PID>/<user>]
    pstree [选项]	[进程号/用户]
    
    • 1
    • 2

    说明:

    ​ 1)在pstree命令及后面的选项和进程号(用户)里,每个元素之间都至少要有一个空格。

    ​ 2)如果不指定进程的PID号,或者不指定用户名称,则会以init(CentOS 6)、systemd(CentOS 7)进程为根进程,显示系统的所有进程信息;若指定用户或PID,则将以用户或PID为根进程,显示用户或PID对应的所有进程。

    【选项说明】

    ​ 表9-2针对该命令的参数选项进行了说明。

    ​ 表9-2 pstree命令的参数选项及说明
    在这里插入图片描述

    9.2.2 使用范例

    ​ **范例9-8:**显示进程树。

    [root@centos7 ~]# pstree	#若不指定进程的PID号,或者不指定用户名称,则会以systemd进程为根进程,显示系统的所有进程信息。
    systemd─┬─NetworkManager───2*[{NetworkManager}]
            ├─VGAuthService
            ├─abrt-watch-log
            ├─abrtd
            ├─agetty
            ├─auditd───{auditd}
            ├─crond
            ├─dbus-daemon───{dbus-daemon}
            ├─firewalld───{firewalld}
            ├─master─┬─pickup
            │        └─qmgr
            ├─polkitd───6*[{polkitd}]
            ├─rsyslogd───2*[{rsyslogd}]
            ├─sshd───sshd───bash───pstree
            ├─systemd-journal
            ├─systemd-logind
            ├─systemd-udevd
            ├─tuned───4*[{tuned}]
            └─vmtoolsd───{vmtoolsd}
            
    [root@centos6 ~]# pstree
    init-+-abrtd
         |-acpid
         |-atd
         |-auditd---{auditd}
         |-automount---4*[{automount}]
         |-certmonger
         |-crond
         |-cupsd
         |-dbus-daemon
         |-hald-+-hald-runner-+-hald-addon-acpi
         |      |             `-hald-addon-inpu
         |      `-{hald}
         |-master-+-pickup
         |        `-qmgr
         |-6*[mingetty]
         |-rpc.statd
         |-rpcbind
         |-rsyslogd---3*[{rsyslogd}]
         |-sshd---sshd---bash---pstree
         `-udevd---2*[udevd]        
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    ​ **范例9-9:**显示指定用户的进程。

    [root@centos7 ~]# yum install -y mariadb mariadb-server
    [root@centos7 ~]# systemctl status mariadb
    ● mariadb.service - MariaDB database server
       Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
       Active: inactive (dead)
    [root@centos7 ~]# systemctl start mariadb
    [root@centos7 ~]# systemctl status mariadb
    ● mariadb.service - MariaDB database server
       Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
       Active: active (running) since Tue 2020-10-27 16:20:00 CST; 2s ago
      Process: 1807 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS)
      Process: 1723 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
     Main PID: 1806 (mysqld_safe)
       CGroup: /system.slice/mariadb.service
               ├─1806 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
               └─1968 /usr/libexec/mysqld --basedir=/usr --datadir=/v...
    
    Oct 27 16:19:58 centos7 mariadb-prepare-db-dir[1723]: MySQL manua...
    Oct 27 16:19:58 centos7 mariadb-prepare-db-dir[1723]: Please repo...
    Oct 27 16:19:58 centos7 mariadb-prepare-db-dir[1723]: The latest ...
    Oct 27 16:19:58 centos7 mariadb-prepare-db-dir[1723]: You can fin...
    Oct 27 16:19:58 centos7 mariadb-prepare-db-dir[1723]: http://dev....
    Oct 27 16:19:58 centos7 mariadb-prepare-db-dir[1723]: Consider jo...
    Oct 27 16:19:58 centos7 mariadb-prepare-db-dir[1723]: https://mar...
    Oct 27 16:19:59 centos7 mysqld_safe[1806]: 201027 16:19:59 mysqld...
    Oct 27 16:19:59 centos7 mysqld_safe[1806]: 201027 16:19:59 mysqld...
    Oct 27 16:20:00 centos7 systemd[1]: Started MariaDB database server.
    Hint: Some lines were ellipsized, use -l to show in full.
    
    [root@centos7 ~]# pstree mysql		#mysql是系统的用户名。
    mysqld_safe───mysqld───18*[{mysqld}]	#该输出显示了mysql用户下对应的进程为mysql,并且mysql进程拥有18个线程。
    
    [root@centos7 ~]# pstree -c -p mysql	#使用-c选项显示所有进程,包含子进程和父进程,使用-p选项显示进程的进程号。
    mysqld_safe(1806)───mysqld(1968)─┬─{mysqld}(1972)
                                     ├─{mysqld}(1973)
                                     ├─{mysqld}(1974)
                                     ├─{mysqld}(1975)
                                     ├─{mysqld}(1976)
                                     ├─{mysqld}(1977)
                                     ├─{mysqld}(1978)
                                     ├─{mysqld}(1979)
                                     ├─{mysqld}(1980)
                                     ├─{mysqld}(1981)
                                     ├─{mysqld}(1982)
                                     ├─{mysqld}(1983)
                                     ├─{mysqld}(1984)
                                     ├─{mysqld}(1985)
                                     ├─{mysqld}(1986)
                                     ├─{mysqld}(1987)
                                     ├─{mysqld}(1995)
                                     └─{mysqld}(1996)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51

    ​ **范例9-10:**显示进程所属的用户。

    [root@centos7 ~]# pstree -u	#使用-u选项显示进程对应的用户名称。
    systemd─┬─NetworkManager───2*[{NetworkManager}]
            ├─VGAuthService
            ├─abrt-watch-log
            ├─abrtd
            ├─agetty
            ├─auditd───{auditd}
            ├─crond
            ├─dbus-daemon(dbus)───{dbus-daemon}
            ├─firewalld───{firewalld}
            ├─master─┬─pickup(postfix)
            │        └─qmgr(postfix)
            ├─mysqld_safe(mysql)───mysqld───18*[{mysqld}]
            ├─polkitd(polkitd)───6*[{polkitd}]
            ├─rsyslogd───2*[{rsyslogd}]
            ├─sshd───sshd───bash───pstree
            ├─systemd-journal
            ├─systemd-logind
            ├─systemd-udevd
            ├─tuned───4*[{tuned}]
            └─vmtoolsd
    
    [root@centos6 ~]# pstree -u
    init-+-abrtd
         |-acpid
         |-atd
         |-auditd---{auditd}
         |-automount---4*[{automount}]
         |-certmonger
         |-crond
         |-cupsd
         |-dbus-daemon(dbus)
         |-hald(haldaemon)-+-hald-runner(root)-+-hald-addon-acpi(haldae+
         |                 |                   `-hald-addon-inpu
         |                 `-{hald}
         |-master-+-pickup(postfix)
         |        `-qmgr(postfix)
         |-6*[mingetty]
         |-rpc.statd(rpcuser)
         |-rpcbind(rpc)
         |-rsyslogd---3*[{rsyslogd}]
         |-sshd---sshd---bash---pstree
         `-udevd---2*[udevd]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
  • 相关阅读:
    基于android选课系统的设计与实现
    查询商品案例-页面渲染数据
    2216. 美化数组的最少删除数 --力扣 --JAVA
    gcd(最大公约数)和lcm(最小公倍数)的代码
    SpringBoot - SpringBoot整合i18n实现消息国际化
    linux Nginx+Tomcat负载均衡、动静分离
    lark 发送图片消息
    【动画进阶】类 ChatGpt 多行文本打字效果
    Python——错误和异常
    探索UniApp分包
  • 原文地址:https://blog.csdn.net/qq_25599925/article/details/126202382