zoukankan      html  css  js  c++  java
  • Linux命令——pgrep

    参考:Linux pgrep Command Tutorial for Beginners (10 Examples)

    Linux命令——ps、pstree

    bash基础——grep、基本正则表达式、扩展正则表达式、fgrep

    简介

    这个命令也是用来查看进程(或线程)信息的。可以理解成是ps+grep

    举例

    根据用户ID,用户名查找进程(或线程)

    使用-u参数。

    这一点要称赞pgrep,不像ps(-u接uid,-U接username),-u可以包含uid和username两种情况

    [root@localhost lib]# pgrep -u 0 -d:
    1:2:3:5:7:8:9:10:11:12:13:14:16:17:18:19:21:22:23:24:26:27:28:29:30:31:32:33:34:36:37:38:39:40:41:42:43:44:45:46:48:49:50:51:52:53:54:55:56:57:63:64:65:66:74:75:76:77:78:79:80:93:94:128:148:323:324:325:333:334:335:336:337:338:339:342:343:357:360:363:421:422:432:433:447:448:449:450:451:452:453:454:455:456:457:458:527:554:563:591:605:661:662:663:664:665:666:667:668:669:671:672:676:680:681:682:683:684:685:686:687:708:741:742:750:759:767:917:918:942:1004:1005:1006:1017:1098:1265:1271:1287:1288:1289:1293:1341:1426:1994:2126:2151:2210:2229
    [root@localhost lib]# pgrep -u root -d:
    1:2:3:5:7:8:9:10:11:12:13:14:16:17:18:19:21:22:23:24:26:27:28:29:30:31:32:33:34:36:37:38:39:40:41:42:43:44:45:46:48:49:50:51:52:53:54:55:56:57:63:64:65:66:74:75:76:77:78:79:80:93:94:128:148:323:324:325:333:334:335:336:337:338:339:342:343:357:360:363:421:422:432:433:447:448:449:450:451:452:453:454:455:456:457:458:527:554:563:591:605:661:662:663:664:665:666:667:668:669:671:672:676:680:681:682:683:684:685:686:687:708:741:742:750:759:767:917:918:942:1004:1005:1006:1017:1098:1265:1271:1287:1288:1289:1293:1341:1426:1994:2126:2151:2210:2229
    View Code

    ps的-G好很多,可以接gid和groupname

    自定义分隔符

    上面的例子我使用了-d参数,这个就是用来自定义分隔符的,默认是换行符,所以默认情况的输出会很多行,如下

    [root@localhost lib]# pgrep -u root 
    1
    2
    3
    5
    7
    8
    9
    10
    11
    12
    13
    14
    16
    17
    18
    19
    21
    22
    23
    24
    26
    27
    28
    29
    30
    31
    32
    33
    34
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    63
    64
    65
    66
    74
    75
    76
    77
    78
    79
    80
    93
    94
    128
    148
    323
    324
    325
    333
    334
    335
    336
    337
    338
    339
    342
    343
    357
    360
    363
    421
    422
    432
    433
    447
    448
    449
    450
    451
    452
    453
    454
    455
    456
    457
    458
    527
    554
    563
    591
    605
    661
    662
    663
    664
    665
    666
    667
    668
    669
    671
    672
    676
    680
    681
    682
    683
    684
    685
    686
    687
    708
    741
    742
    750
    759
    767
    917
    918
    942
    1004
    1005
    1006
    1017
    1098
    1265
    1271
    1287
    1288
    1289
    1293
    1341
    1426
    1994
    2151
    2210
    2255
    2256
    View Code

    为了输出美观,第一个例子我更改了分隔符

    显示进程(或线程)名字

    上面那个例子,虽然把root的进程(或线程)都找到了,但是只有ID,太不方便了。

    使用-l参数,可以把进程(或线程)名字显示出来。

    [root@localhost lib]# pgrep -u root -l
    1 systemd
    2 kthreadd
    3 ksoftirqd/0
    5 kworker/0:0H
    7 migration/0
    8 rcu_bh
    9 rcu_sched
    10 lru-add-drain
    11 watchdog/0
    12 watchdog/1
    13 migration/1
    14 ksoftirqd/1
    16 kworker/1:0H
    17 watchdog/2
    18 migration/2
    19 ksoftirqd/2
    21 kworker/2:0H
    22 watchdog/3
    23 migration/3
    24 ksoftirqd/3
    26 kworker/3:0H
    27 watchdog/4
    28 migration/4
    29 ksoftirqd/4
    30 kworker/4:0
    31 kworker/4:0H
    32 watchdog/5
    33 migration/5
    34 ksoftirqd/5
    36 kworker/5:0H
    37 watchdog/6
    38 migration/6
    39 ksoftirqd/6
    40 kworker/6:0
    41 kworker/6:0H
    42 watchdog/7
    43 migration/7
    44 ksoftirqd/7
    45 kworker/7:0
    46 kworker/7:0H
    48 kdevtmpfs
    49 netns
    50 khungtaskd
    51 writeback
    52 kintegrityd
    53 bioset
    54 kblockd
    55 md
    56 edac-poller
    57 kworker/0:1
    63 kswapd0
    64 ksmd
    65 khugepaged
    66 crypto
    74 kthrotld
    75 kworker/u256:1
    76 kmpath_rdacd
    77 kaluad
    78 kpsmoused
    79 kworker/0:2
    80 ipv6_addrconf
    93 deferwq
    94 kworker/3:1
    128 kauditd
    148 kworker/2:1
    323 ata_sff
    324 mpt_poll_0
    325 mpt/0
    333 scsi_eh_0
    334 scsi_tmf_0
    335 kworker/u256:2
    336 scsi_eh_1
    337 scsi_tmf_1
    338 scsi_eh_2
    339 scsi_tmf_2
    342 ttm_swap
    343 irq/16-vmwgfx
    357 kworker/7:2
    360 kworker/4:2
    363 kworker/1:2
    421 kdmflush
    422 bioset
    432 kdmflush
    433 bioset
    447 bioset
    448 xfsalloc
    449 xfs_mru_cache
    450 xfs-buf/dm-0
    451 xfs-data/dm-0
    452 xfs-conv/dm-0
    453 xfs-cil/dm-0
    454 xfs-reclaim/dm-
    455 xfs-log/dm-0
    456 xfs-eofblocks/d
    457 xfsaild/dm-0
    458 kworker/6:1H
    527 systemd-journal
    554 lvmetad
    563 systemd-udevd
    591 nfit
    605 kworker/6:2
    661 kvm-irqfd-clean
    662 xfs-buf/sda1
    663 xfs-data/sda1
    664 xfs-conv/sda1
    665 xfs-cil/sda1
    666 xfs-reclaim/sda
    667 xfs-log/sda1
    668 xfs-eofblocks/s
    669 xfsaild/sda1
    671 kdmflush
    672 bioset
    676 kworker/3:2
    680 xfs-buf/dm-2
    681 xfs-data/dm-2
    682 xfs-conv/dm-2
    683 xfs-cil/dm-2
    684 xfs-reclaim/dm-
    685 xfs-log/dm-2
    686 xfs-eofblocks/d
    687 xfsaild/dm-2
    708 auditd
    741 systemd-logind
    742 irqbalance
    750 crond
    759 ksmtuned
    767 login
    917 kworker/7:1H
    918 kworker/0:1H
    942 dhclient
    1004 rsyslogd
    1005 tuned
    1006 sshd
    1017 kworker/2:2
    1098 master
    1265 kworker/1:1H
    1271 bash
    1287 kworker/4:1H
    1288 kworker/5:1H
    1289 sshd
    1293 bash
    1341 kworker/3:1H
    1426 kworker/2:1H
    1994 kworker/5:2
    2151 kworker/5:0
    2210 kworker/1:1
    2256 kworker/1:0
    2326 kworker/5:1
    2334 sleep
    View Code

    显示命令行命

    使用-a参数还可以把这个进程(或线程)启动时的命令行显示出来

    pstree也是使用-a显式命令行

    [root@localhost lib]# pgrep -u root -a
    1 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
    2 kthreadd
    3 ksoftirqd/0
    5 kworker/0:0H
    7 migration/0
    8 rcu_bh
    9 rcu_sched
    10 lru-add-drain
    11 watchdog/0
    12 watchdog/1
    13 migration/1
    14 ksoftirqd/1
    16 kworker/1:0H
    17 watchdog/2
    18 migration/2
    19 ksoftirqd/2
    21 kworker/2:0H
    22 watchdog/3
    23 migration/3
    24 ksoftirqd/3
    26 kworker/3:0H
    27 watchdog/4
    28 migration/4
    29 ksoftirqd/4
    30 kworker/4:0
    31 kworker/4:0H
    32 watchdog/5
    33 migration/5
    34 ksoftirqd/5
    36 kworker/5:0H
    37 watchdog/6
    38 migration/6
    39 ksoftirqd/6
    40 kworker/6:0
    41 kworker/6:0H
    42 watchdog/7
    43 migration/7
    44 ksoftirqd/7
    45 kworker/7:0
    46 kworker/7:0H
    48 kdevtmpfs
    49 netns
    50 khungtaskd
    51 writeback
    52 kintegrityd
    53 bioset
    54 kblockd
    55 md
    56 edac-poller
    57 kworker/0:1
    63 kswapd0
    64 ksmd
    65 khugepaged
    66 crypto
    74 kthrotld
    75 kworker/u256:1
    76 kmpath_rdacd
    77 kaluad
    78 kpsmoused
    79 kworker/0:2
    80 ipv6_addrconf
    93 deferwq
    94 kworker/3:1
    128 kauditd
    148 kworker/2:1
    323 ata_sff
    324 mpt_poll_0
    325 mpt/0
    333 scsi_eh_0
    334 scsi_tmf_0
    335 kworker/u256:2
    336 scsi_eh_1
    337 scsi_tmf_1
    338 scsi_eh_2
    339 scsi_tmf_2
    342 ttm_swap
    343 irq/16-vmwgfx
    357 kworker/7:2
    360 kworker/4:2
    363 kworker/1:2
    421 kdmflush
    422 bioset
    432 kdmflush
    433 bioset
    447 bioset
    448 xfsalloc
    449 xfs_mru_cache
    450 xfs-buf/dm-0
    451 xfs-data/dm-0
    452 xfs-conv/dm-0
    453 xfs-cil/dm-0
    454 xfs-reclaim/dm-
    455 xfs-log/dm-0
    456 xfs-eofblocks/d
    457 xfsaild/dm-0
    458 kworker/6:1H
    527 /usr/lib/systemd/systemd-journald
    554 /usr/sbin/lvmetad -f
    563 /usr/lib/systemd/systemd-udevd
    591 nfit
    605 kworker/6:2
    661 kvm-irqfd-clean
    662 xfs-buf/sda1
    663 xfs-data/sda1
    664 xfs-conv/sda1
    665 xfs-cil/sda1
    666 xfs-reclaim/sda
    667 xfs-log/sda1
    668 xfs-eofblocks/s
    669 xfsaild/sda1
    671 kdmflush
    672 bioset
    676 kworker/3:2
    680 xfs-buf/dm-2
    681 xfs-data/dm-2
    682 xfs-conv/dm-2
    683 xfs-cil/dm-2
    684 xfs-reclaim/dm-
    685 xfs-log/dm-2
    686 xfs-eofblocks/d
    687 xfsaild/dm-2
    708 /sbin/auditd
    741 /usr/lib/systemd/systemd-logind
    742 /usr/sbin/irqbalance --foreground
    750 /usr/sbin/crond -n
    759 /bin/bash /usr/sbin/ksmtuned
    767 login -- root     
    917 kworker/7:1H
    918 kworker/0:1H
    942 /sbin/dhclient -1 -q -lf /var/lib/dhclient/dhclient-290edd36-584d-4eb9-b155-48b899711cf4-eth0.lease -pf /var/run/dhclient-eth0.pid eth0
    1004 /usr/sbin/rsyslogd -n
    1005 /usr/bin/python -Es /usr/sbin/tuned -l -P
    1006 /usr/sbin/sshd -D
    1017 kworker/2:2
    1098 /usr/libexec/postfix/master -w
    1265 kworker/1:1H
    1271 -bash
    1287 kworker/4:1H
    1288 kworker/5:1H
    1289 sshd: root@pts/0    
    1293 -bash
    1341 kworker/3:1H
    1426 kworker/2:1H
    1994 kworker/5:2
    2151 kworker/5:0
    2210 kworker/1:1
    2256 kworker/1:0
    2326 kworker/5:1
    2343 sleep 60
    View Code

    找出满足条件的最新/最老的一个进程(或线程)

    比如root用户,他可能启动了很多进程(或线程),那么最近最新的是哪一个,使用-n(new)参数

    [root@localhost lib]# pgrep -u root -a -n
    2352 sleep 60
    View Code

    如果找最老的那个进程(或线程),使用-o(old)参数(这个不是initd就是systemd)

    [root@localhost lib]# pgrep -u root -a -o
    1 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
    View Code

    统计满足条件进程(线程)的个数

    使用参数-c

    pstree的-c是展开折叠

    [root@localhost lib]# pgrep -u root  -c
    148
    View Code

     

  • 相关阅读:
    Git
    Spring
    Linux
    Linux
    Linux
    Linux
    Linux
    Linux
    Linux
    Linux
  • 原文地址:https://www.cnblogs.com/kelamoyujuzhen/p/9825359.html
Copyright © 2011-2022 走看看