pgrep,pkill,xargs以及ps

pgrep

man pgrep或者man pkill时,发现二者的说明是在一起的,二者参数说明有很多共同的地方,这里为了不混淆,分开说

作用

通过进程名找进程pid

用法

pgrep [-Lafilnoqvx] [-F pidfile] [-G gid] [-P ppid] [-U uid] [-d delim] [-g pgrp] [-t tty] [-u euid] pattern

说明

进程名称为pattern,也就是说可以正则匹配

常用参数说明

  • -d:指定分隔符
  • -l:输出pid和进程名
  • -v:取反,显示没有匹配成功的进程
  • -a:包含匹配进程的祖先进程
  • -U:限定

举例

pgrep -l "^ng":查询以ng开头的所有进程,返回pid和进程名

pkill

作用

通过进程名杀死匹配到的进程

用法

pkill [-signal] [-ILafilnovx] [-F pidfile] [-G gid] [-P ppid] [-U uid] [-g pgrp] [-t tty] [-u euid] pattern

常用参数说明,多数和pgrep一样

  • -I:杀死进程前,需要用户确认

举例

pkill -9 nginx:杀掉nginx的所有进程

xargs

作用

将上一个命令的输出,转化为下一个命令的参数,做参数中转

用法

commandA [options] args|xargs [-0opt] [-E eofstr] [-I replstr [-R replacements]] [-J replstr] [-L number] [-n number [-x]] [-P maxprocs] [-s size] [utility [argument ...]] commandB

常用参数说明

  • -d:指定分隔符,可以将一串输出拆开
  • -J replstr:指定占位符,供后面的命令引用
  • -I replstr:对输入的每一行,将占位符替换掉,可以循环输入参数,与-J的区别在于,-J是一股脑把所有输出都当做新命令的一个参数传入了,而-I是将输入的每一行分别当做新命令的参数,循环调用新命令,若不指名-R参数,占位符最多替换5次
  • -t 、-p:在执行之前输出命令本身,其中-p更进一步,不经输出,还会要求用户确认,确认了才执行
  • -E str:指定参数结尾,之后的输入不被新命令接收
  • -L num:输入的每num行作为新命令的参数调用一次新命令
  • -n num:输入的每num个参数(使用-d指定分隔符)作为新命令的参数,调用一次新命令,最后一次不足的话,也会调用

举例

ls -ll|awk '{if (NR != 1)print $NF}'|xargs -L 3 -J % echo %:当前目录下的文件,每三个一行,输出出来

ps

和top类似,只不过是一次性的,不是持续动态展示进程情况

参数

  • -A,-e:显示全部进程,不区分用户
  • -u username:指定进程用户名
  • u:显示用户名
  • p pid:只显示指定进程id的进程
  • -c:只显示进程名,不显示进程的全路径和参数
  • -o:指定显示的列,列的关键字见man ps的OBSOLETE SORT KEYS部分
  • L:展示指定列

举例

ps -Lp pgrep -u admin java c -o user,pid,ppid,%cpu,%mem,cmd --no-header|sort -nk 4,4 -r

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值