如何排序ps的输出

ps命令使得它很容易通过数据的任何列的排序输出。了解更多关于--sort选项以及如何使用它,以及如何ps的输出传递给sort命令。

时间穿越历史按时间倒序排列的螺旋延伸倒退。
SLA中/盖蒂图片社

PS命令的关键是了解什么是你的Linux系统上运行,并且每个进程正在使用的资源。这是很有必要知道如何显示信息PS提供以任何方式帮助你专注于你正在试图解决的问题。其中一个方面就是,要能的输出排序PS AUX按任一列命令来突出特定的信息,如多少内存的过程是如何使用或者他们已经运行了多长时间。

诀窍包括使用PS命令的- 分类选项,并知道如何指定要用于排序的列。默认,PS各种由进程ID(PID),表示最小第一。PID 1会出现在列表的顶部,右侧下的列标题。其余部分将按照数字顺序。

下面是标准的例子PS AUX输出。它可能看起来很熟悉。

$的ps aux |头-5 USER PID%CPU%MEM VSZ RSS TTY STAT START TIME COMMAND根1 0.0 0.2 169820 14028?SS Nov01 0:52 / LIB / systemd / systemd --system --deserialize 22根2 0.0 0.0 0 0?小号Nov01 0:00 [kthreadd]根部3 0.0 0.0 0 0?我
       

使用- 分类选项,你会如果你排序PID得到的结果相同。请注意,您需要在小写输入“PID”。但是,你可以改变“PID”到任何其他列和排序,最后一个来代替。

$的ps aux --sort PID |头-5 USER PID%CPU%MEM VSZ RSS TTY STAT START TIME COMMAND根1 0.0 0.2 169820 14028?SS Nov01 0:52 / LIB / systemd / systemd --system --deserialize 22根2 0.0 0.0 0 0?小号Nov01 0:00 [kthreadd]根部3 0.0 0.0 0 0?我
       

要查看最大值首先列出所选列,你就必须改变排序选项(例如,-pid代替PID)。请注意,在这种情况下,显示将具有最高的进程ID启动。想想 - 因为意义降值(最大第一),只是名称(例如,PID),或者用加号名称前缀(例如,+ PID)的意思上升。由进程ID下面排序所示的命令示出最大的第一个。

$的ps aux --sort-pid|头-5 USER PID%CPU%MEM VSZ RSS TTY STAT START TIME COMMAND SHS 316468个0.0 0.0 8092 588 PTS / 0 S + 14:15 0:00头-5 SHS 316467 0.0 0.0 12052 4080 PTS / 0 R + 14:15 0:00的ps aux --sort -pid根316463 0.0 0.0 0 0?我14点14分0:00 [kworker / U8:1-events_power_efficient]根316453 0.0 0.0 0 0?我14:09 0:00 [kworker / 0:0的事件]

要通过一些列的排序,你需要使用它的列名。在这个例子中“PMEM”是指内存使用情况的百分比,并使用“-pmem”的意思,我们将看到第一次使用的内存最多的进程。你也可以使用 “%MEM” 和 “ - %MEM”。

$的ps aux --sort-pmem|头-5 USER PID%CPU%MEMVSZ RSS TTY STAT开始时刻的指令GDM 1842 0.02.53765092 156612从tty1 S1中+ Nov01 3:44的/ usr /斌/ gnoe  - 壳根171907 0.00.9130096 60232?小号的0.8146272 53900?SL Nov01 17:58 nessusd -q GDM 2310 0.00.8798716 50032从tty1 S1中+ Nov01 0:00的/ usr /斌/ Xwaland:1024 -rootless -noreset -accessx -core -auth /run/user/121/.mutter-Xwayladauth.BPIVS0 -listen 4 -listen 5 -displayfd 6 -listen7

如果你只希望看到的选择列PS输出,您可以指定它们作为在这个例子中只有命令和它们的CPU占用率显示和输出由最大的CPU使用量排序。

$ PS -eo通讯,PCPU--sort -pcpu |头-5 COMMAND%CPU SNMP 0.5 nessusd 0.1 systemd 0.0 kthreadd 0.0

这里的列名和字符串列表,你可以用它们来进行排序:

列升序降序排序标题排序替代=============================================== USER用户-user PID PID -pid%CPU PCPU -pcpu%的CPU和 - %CPU%MEM PMEM -pmem%PMEM和 - %PMEM VSZ VSZ -vsz RSS RSS -rss TTY TTY -tty STAT STAT -statSTART启动 - 启动时间时间 - 时间COMMAND通讯-comm

使用sort命令

您也可以通过管道的输出PS AUX命令到分类命令,并选择列使用用于通过使用列号(1至11)排序。有几个缺点这种方法的:1)你的标题栏将随ps输出的其余部分进行排序,很可能结束了你的地方,没想到看到他们;2)你需要一个“N”添加到您的sort命令时的那种需求是数字。该PS命令理解这种区别;分类不和需要被碰一碰。

类似这样的命令将排序内存使用情况。排序命令使用 “-NK 4” 到(-n)排序数值上(-k 4)4在排序输出数据列。

$的ps aux |头-1;PS AUX |排序-r -NK 4 |头-6 USER PID%CPU%MEM VSZ RSS TTY STAT START TIME COMMAND GDM 1842 0.0 2.5 3765092 156612从tty1 S1中+ Nov01 3:46的/ usr /斌/侏儒 - 壳根171907 0.0 0.9 130096 60380?小号的
       

使用别名

即使PS命令的灵活性,满足您的需求,您可以随时创建别名,这样你就不用数列和/或想列的值是否是数字。这里有些例子:

别名ByCPU = '的ps aux --sort  - %CPU' 别名ByMem = '的ps aux --sort  - %MEM' 别名TopCPU ='的ps aux --sort  - %的CPU |头-11' 的别名TopMem ='的ps aux --sort  - %MEM |头-11'
加入对网络世界的社足球竞猜app软件区Facebook的LinkedIn对那些顶级心态的话题发表评论。
有关:

版权所有©2020足球竞彩网下载

IT薪资调查:结果是