参考: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. SegNet

    Paper link:https://arxiv.org/pdf/1511.00561.pdf Motivation:为了实际应用,主要是在时间效率和存储空间上做了改进: Introduction: ...

  2. WebService学习总结(三)——使用JDK开发WebService(转)

    一.WebService的开发手段 使用Java开发WebService时可以使用以下两种开发手段 1. 使用JDK开发(1.6及以上版本) 2.使用CXF框架开发(工作中) 二.使用JDK开发Web ...

  3. webpack 安装vue(两种代码模式compiler 和runtime)

    使用webpack安装vue,import之后,运营项目报错,如下: [Vue warn]: You are using the runtime-only build of Vue where the ...

  4. SpringBoot学习笔记:自定义拦截器

    SpringBoot学习笔记:自定义拦截器 快速开始 拦截器类似于过滤器,但是拦截器提供更精细的的控制能力,它可以在一个请求过程中的两个节点进行拦截: 在请求发送到Controller之前 在响应发送 ...

  5. linux如何找回已经删除的文件?lsof

    简介 lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以如传输控 ...

  6. Appium移动自动化测试-----(六)2.AppiumDesktop录制脚本生成极简脚本

    AppiumDesktop启动页面: 启动AppiumDesktop以后点击该页面右上角的Start New Session按钮,就会启动一个新的会话窗口(如下图),在这个窗口我们需要配置一些Desi ...

  7. matlab中执行mex文件时提示GLIBCXX not found

    解决方案参考: http://stackoverflow.com/questions/8421708/glibcxx-not-found-when-compiling-vtk-example-unde ...

  8. juc-locks包

    1. 简介 java.util.concurrent.locks 包含常用的锁实现,重点研究AbstractQueuedSynchronizer.ReentrantLock.ReentrantRead ...

  9. 大数据架构(PB级)

    1.随着互联网快速发展,数据量的快速膨胀,我们日增3000多亿数据量,因此需要针对PB级存储.几百TB的增量数据处理架构设计 2.系统逻辑划分总图: 暂不便透露 3.系统架构图: 4.大数据计算引擎我 ...

  10. 如何理解MVC

    在面试的时候,MVC这个概念考的次数很多,有许多人只能把三个字母解释成三个单词:model,view,controller,但是如果往深处说就说不出来什么东西了,对这个概念模糊不清,今天闲来无事看了一 ...