参考: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  -d:
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
[root@localhost lib]# pgrep -u root -d:
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

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

自定义分隔符

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

[root@localhost lib]# pgrep -u root 

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

显示进程(或线程)名字

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

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

[root@localhost lib]# pgrep -u root -l
systemd
kthreadd
ksoftirqd/
kworker/:0H
migration/
rcu_bh
rcu_sched
lru-add-drain
watchdog/
watchdog/
migration/
ksoftirqd/
kworker/:0H
watchdog/
migration/
ksoftirqd/
kworker/:0H
watchdog/
migration/
ksoftirqd/
kworker/:0H
watchdog/
migration/
ksoftirqd/
kworker/:
kworker/:0H
watchdog/
migration/
ksoftirqd/
kworker/:0H
watchdog/
migration/
ksoftirqd/
kworker/:
kworker/:0H
watchdog/
migration/
ksoftirqd/
kworker/:
kworker/:0H
kdevtmpfs
netns
khungtaskd
writeback
kintegrityd
bioset
kblockd
md
edac-poller
kworker/:
kswapd0
ksmd
khugepaged
crypto
kthrotld
kworker/u256:
kmpath_rdacd
kaluad
kpsmoused
kworker/:
ipv6_addrconf
deferwq
kworker/:
kauditd
kworker/:
ata_sff
mpt_poll_0
mpt/
scsi_eh_0
scsi_tmf_0
kworker/u256:
scsi_eh_1
scsi_tmf_1
scsi_eh_2
scsi_tmf_2
ttm_swap
irq/-vmwgfx
kworker/:
kworker/:
kworker/:
kdmflush
bioset
kdmflush
bioset
bioset
xfsalloc
xfs_mru_cache
xfs-buf/dm-
xfs-data/dm-
xfs-conv/dm-
xfs-cil/dm-
xfs-reclaim/dm-
xfs-log/dm-
xfs-eofblocks/d
xfsaild/dm-
kworker/:1H
systemd-journal
lvmetad
systemd-udevd
nfit
kworker/:
kvm-irqfd-clean
xfs-buf/sda1
xfs-data/sda1
xfs-conv/sda1
xfs-cil/sda1
xfs-reclaim/sda
xfs-log/sda1
xfs-eofblocks/s
xfsaild/sda1
kdmflush
bioset
kworker/:
xfs-buf/dm-
xfs-data/dm-
xfs-conv/dm-
xfs-cil/dm-
xfs-reclaim/dm-
xfs-log/dm-
xfs-eofblocks/d
xfsaild/dm-
auditd
systemd-logind
irqbalance
crond
ksmtuned
login
kworker/:1H
kworker/:1H
dhclient
rsyslogd
tuned
sshd
kworker/:
master
kworker/:1H
bash
kworker/:1H
kworker/:1H
sshd
bash
kworker/:1H
kworker/:1H
kworker/:
kworker/:
kworker/:
kworker/:
kworker/:
sleep

显示命令行命

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

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

[root@localhost lib]# pgrep -u root -a
/usr/lib/systemd/systemd --switched-root --system --deserialize
kthreadd
ksoftirqd/
kworker/:0H
migration/
rcu_bh
rcu_sched
lru-add-drain
watchdog/
watchdog/
migration/
ksoftirqd/
kworker/:0H
watchdog/
migration/
ksoftirqd/
kworker/:0H
watchdog/
migration/
ksoftirqd/
kworker/:0H
watchdog/
migration/
ksoftirqd/
kworker/:
kworker/:0H
watchdog/
migration/
ksoftirqd/
kworker/:0H
watchdog/
migration/
ksoftirqd/
kworker/:
kworker/:0H
watchdog/
migration/
ksoftirqd/
kworker/:
kworker/:0H
kdevtmpfs
netns
khungtaskd
writeback
kintegrityd
bioset
kblockd
md
edac-poller
kworker/:
kswapd0
ksmd
khugepaged
crypto
kthrotld
kworker/u256:
kmpath_rdacd
kaluad
kpsmoused
kworker/:
ipv6_addrconf
deferwq
kworker/:
kauditd
kworker/:
ata_sff
mpt_poll_0
mpt/
scsi_eh_0
scsi_tmf_0
kworker/u256:
scsi_eh_1
scsi_tmf_1
scsi_eh_2
scsi_tmf_2
ttm_swap
irq/-vmwgfx
kworker/:
kworker/:
kworker/:
kdmflush
bioset
kdmflush
bioset
bioset
xfsalloc
xfs_mru_cache
xfs-buf/dm-
xfs-data/dm-
xfs-conv/dm-
xfs-cil/dm-
xfs-reclaim/dm-
xfs-log/dm-
xfs-eofblocks/d
xfsaild/dm-
kworker/:1H
/usr/lib/systemd/systemd-journald
/usr/sbin/lvmetad -f
/usr/lib/systemd/systemd-udevd
nfit
kworker/:
kvm-irqfd-clean
xfs-buf/sda1
xfs-data/sda1
xfs-conv/sda1
xfs-cil/sda1
xfs-reclaim/sda
xfs-log/sda1
xfs-eofblocks/s
xfsaild/sda1
kdmflush
bioset
kworker/:
xfs-buf/dm-
xfs-data/dm-
xfs-conv/dm-
xfs-cil/dm-
xfs-reclaim/dm-
xfs-log/dm-
xfs-eofblocks/d
xfsaild/dm-
/sbin/auditd
/usr/lib/systemd/systemd-logind
/usr/sbin/irqbalance --foreground
/usr/sbin/crond -n
/bin/bash /usr/sbin/ksmtuned
login -- root
kworker/:1H
kworker/:1H
/sbin/dhclient - -q -lf /var/lib/dhclient/dhclient-290edd36-584d-4eb9-b155-48b899711cf4-eth0.lease -pf /var/run/dhclient-eth0.pid eth0
/usr/sbin/rsyslogd -n
/usr/bin/python -Es /usr/sbin/tuned -l -P
/usr/sbin/sshd -D
kworker/:
/usr/libexec/postfix/master -w
kworker/:1H
-bash
kworker/:1H
kworker/:1H
sshd: root@pts/
-bash
kworker/:1H
kworker/:1H
kworker/:
kworker/:
kworker/:
kworker/:
kworker/:
sleep

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

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

[root@localhost lib]# pgrep -u root -a -n
sleep

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

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

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

使用参数-c

pstree的-c是展开折叠

[root@localhost lib]# pgrep -u root  -c

Linux命令——pgrep的更多相关文章

  1. 最有用的Linux命令行使用技巧集锦

    最近在Quora上看到一个问答题目,关于在高效率Linux用户节省时间Tips.将该题目的回答进行学习总结,加上自己的一些经验,记录如下,方便自己和大家参考. 下面介绍的都是一些命令行工具,这些工具在 ...

  2. 运维必须掌握的150个Linux命令

    线上查询及帮助命令(1个)man 目录操作命令(6个)ls tree pwd mkdir rmdir cd 文件操作命令(7个)touch cp mv rm ln find rename 文件查看及处 ...

  3. Linux 命令行

    Linux 命令笔记 一.目录/文件 1.1 目录文件日常操作 . -> 当前目录 .. -> 上一级目录 .file/.dir -> 隐藏文件/文件夹 [ls] 查看指定目录文件 ...

  4. linux 命令中英文对照,收集

    linux 命令中英文对照,收集   linux 命令英文全文 Is Linux CLI case-sensitive? The answer is, yes. If you try to run L ...

  5. 《Linux命令学习手册》系列分享专栏

    <Linux命令学习手册>系列分享专栏 <Linux命令学习手册>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/207 ...

  6. Linux命令——pr

    参考:Linux命令——column 前言 接触这个命令的初衷是我想把一个很长的单列输出设置成多列输出,奈何column的分列输出机制太智障,直到我发现了pr 参数 pr -# 输出指定的列数. -t ...

  7. 有效管理进程的几个linux命令

    一般来说,应用程序进程的生命周期有三种主要状态:启动.运行和停止.如果我们想成为称职的管理员,每个状态都可以而且应该得到认真的管理.这八个命令可用于管理进程的整个生命周期. 启动进程 启动进程的最简单 ...

  8. (4)Linux命令分类汇总(13~16)

    Linux命令分类汇总(13~16) (十三)系统管理与性能监视命令(9个) 79       chkconfig 管理Linux系统开机启动项. 80       vmstat 虚拟内存统计. 81 ...

  9. Linux命令(持续更新)

    1. tail 命令    tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件. tail  -f  filename 会把 filename 文件里的最尾部的内 ...

随机推荐

  1. spring 使用Spring表达式(Spring EL)

    Spring还提供了更灵活的注入方式,那就是Spring表达式,实际上Spring EL远比以上注入方式强大,我们需要学习它.Spring EL拥有很多功能. 使用Bean的id来引用Bean. •调 ...

  2. python通过socket实现多个连接并实现ssh功能详解

    python通过socket实现多个连接并实现ssh功能详解 一.前言 上一篇中我们已经知道了客户端通过socket来连接服务端,进行了一次数据传输,那如何实现客户端多次发生数据?而服务端接受多个客户 ...

  3. 【DeepCTR】

    DeepFM: https://www.jianshu.com/p/6f1c2643d31b CCPM,FGCNN: https://cloud.tencent.com/developer/artic ...

  4. Slf4j与log4j及log4j2、logbak的关系及使用方法

    Slf4j与log4j及log4j2的关系及使用方法 slf4j slf4j仅仅是一个为Java程序提供日志输出的统一接口,并不是一个具体的日志实现方案,就比如JDBC一样,只是一种规则而已,所以单独 ...

  5. 图解 perspective && perspective-origin && transform3d && transform-origin

    perspective && perspective-origin perspective是物体相对于画布的视距距离 perspective-origin是物体在画布位置的中心视点 t ...

  6. axios ajax框架 请求配置

    请求参数 { // `url` is the server URL that will be used for the request url: '/user', // `method` is the ...

  7. filebeat输出到kafka

    # cat filebeat.yml filebeat.inputs: - type: log enabled: true tail_files: true paths: - /data/www.ex ...

  8. didSelectRowAtIndexPath方法无响应解决办法

    tableview的代理事件didSelectRowAtIndexPath失效,可能有三个原因: 1.没有设置tableview的Delegate  需要设置tableview的代理才可以响应代理事件 ...

  9. 编译Cython代码时遇到的问题: fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'

    使用python setup.py build_ext --inplace命令编译cython代码, 出现以下错误: Compiling cython_example.pyx because it c ...

  10. 1. Arduino对第三方开发板的支持

    Arduino对第三方开发板也有支持接口,需要手动添加,我们以STM32系列为例,说明添加过程. 目前st的官方提供的一系列板子都支持Arduino,可能是Arduino-IDE更新太慢,目前版本没有 ...