ps 显示列名称

ps 显示列名称

使用这些 ps 选项,我剪切了 10 行并按 CPU 使用率 (pcpu) 对 ps 的输出进行排序:

ps -eo pcpu,etime,pid,user,args --no-headers| sort -t. -nk1,2 -k4,4 -r |head -n 10

我还需要显示列的名称(就像相同的命令但不切断输出)。

%CPU     ELAPSED   PID USER     COMMAND
 0.0 10-23:41:11     1 root     init [2]  
 0.0 10-23:41:11     2 root     [kthreadd]

答案1

ps -eo pcpu,etime,pid,user,args --sort=-%cpu | head -11

答案2

这在 Centos 7 上有效。两个单独的 ps 命令。第一个 ps 命令用于获取标题。然后是分号。然后是第二个 ps 命令,其中包含特定的 grep。使用的标题是我的标准标题。

ps -eo user,pid,ppid,lstart,etime,cmd |head -1;ps -eo user,pid,ppid,lstart,etime,cmd | grep <whatever you are grepping for |grep -v grep

让我们将其分解为每部分一行。

ps -eo user,pid,ppid,lstart,etime,cmd |head -1
;
ps -eo user,pid,ppid,lstart,etime,cmd 
| grep <whatever you are grepping for>
| grep -v grep

实际产量:

[root@myserver ~]# ps -eo user,pid,ppid,lstart,etime,cmd |head -1;ps -eo user,pid,ppid,lstart,etime,cmd |grep sshd |grep -v grep

USER        PID   PPID                  STARTED     ELAPSED CMD
root       4673      1 Tue May 17 09:05:14 2022 122-09:29:11 /usr/sbin/sshd -D
root     233733   4673 Tue Sep 13 15:12:12 2022  3-03:22:13 sshd: kbanyas [priv]
kbanyas  234288 233733 Tue Sep 13 15:12:21 2022  3-03:22:04 sshd: kbanyas@pts/0

相关内容