如何获取带有标题的 ps 输出

如何获取带有标题的 ps 输出

问题很简单,如何ps在 Linux 中获取带有标题的输出。

Linux 详细信息:

PRETTY_NAME="Debian GNU/Linux 7 (wheezy)"
NAME="Debian GNU/Linux"
VERSION_ID="7"
VERSION="7 (wheezy)"

我可以用 得到它ps -ef | { head -1; grep query; },但文本太多了。查看ps使用的文档时man ps,我可以看到有一个选项--headers,但使用该选项也不会提供标题:

>~$ ps aux --headers | grep grep
user  24082  0.0  0.0   6656   628 pts/0    S+   12:59   0:00 grep grep

还尝试h使用以下命令选项:

~$ ps auxh  | grep grep
user  25982  0.0  0.0   6656   624 pts/0    S+   13:14   0:00 grep grep

答案1

  1. 我不确定headers是否有必要。
  2. 标题被打印出来,但是被 grep 过滤掉了。

awk解决方案

ps aux --headers| awk 'NR==1 || /awk/ '
  • NR==1保持第一行
  • ||或者
  • /awk/用 awk 排线

egrep解决方案

ps aux | egrep '^USER|grep' 
  • ^USER行首的 USER字符串
  • grep字符串

附言解决方案

如果字符串与程序匹配,则可以使用-C选项(以及所需的字段)

ps -C sshd -o stime,etime,args

相关内容