关于该ps
命令 - 根据命令使用的选项添加一个/多个带有默认标题的额外列/标题ps
- 通过O
该选项。
介绍
如果ps x
执行则输出如下:
PID TTY STAT TIME COMMAND
1677 ? Ss 0:00 /lib/systemd/systemd --user
1679 ? S 0:00 (sd-pam)
1704 tty1 S+ 0:00 -bash
1961 tty4 S 0:00 -bash
1973 tty4 S+ 0:00 man ps
1983 tty4 S+ 0:00 pager
2227 ? S 0:00 sshd: manueljordan@pts/0
2228 pts/0 Ss 0:00 -bash
2307 ? S 0:01 sshd: manueljordan@pts/1
2308 pts/1 Ss 0:00 -bash
2407 ? S 0:00 sshd: manueljordan@pts/2
2408 pts/2 Ss 0:00 -bash
2437 pts/2 S+ 0:00 less
2846 pts/1 S+ 0:00 man ps
2856 pts/1 S+ 0:00 pager
2968 pts/0 R+ 0:00 ps x
出现,我们知道默认的列/标题集。
如何执行简单的确认 - ifps xO %cpu
输出如下:
PID %CPU S TTY TIME COMMAND
1677 0.0 S ? 00:00:00 systemd
1679 0.0 S ? 00:00:00 (sd-pam)
1704 0.0 S tty1 00:00:00 bash
1961 0.0 S tty4 00:00:00 bash
1973 0.0 S tty4 00:00:00 man
1983 0.0 S tty4 00:00:00 pager
2227 0.0 S ? 00:00:00 sshd
2228 0.0 S pts/0 00:00:00 bash
2307 0.0 S ? 00:00:01 sshd
2308 0.0 S pts/1 00:00:00 bash
2407 0.0 S ? 00:00:00 sshd
2408 0.0 S pts/2 00:00:00 bash
2437 0.0 S pts/2 00:00:00 less
2846 0.0 S pts/1 00:00:00 man
2856 0.0 S pts/1 00:00:00 pager
2969 0.0 R pts/0 00:00:00 ps
到这里一切都好。没有理由创建此帖子
因此理论上可以添加任何HEADER
基于其各自的CODE
- 它根据该STANDARD FORMAT SPECIFIERS
部分,它可以通过 获得man ps
。
现在感谢这个问题的经验:
显示PSR
列/标题。
情况
如果ps xO psr
执行则输出如下:
PID TTY STAT TIME COMMAND
1677 ? Ss 0:00 /lib/systemd/systemd --user
1679 ? S 0:00 (sd-pam)
1704 tty1 S+ 0:00 -bash
1961 tty4 S 0:00 -bash
1973 tty4 S+ 0:00 man ps
1983 tty4 S+ 0:00 pager
2227 ? S 0:00 sshd: manueljordan@pts/0
2228 pts/0 Ss 0:00 -bash
2307 ? S 0:01 sshd: manueljordan@pts/1
2308 pts/1 Ss 0:00 -bash
2407 ? S 0:00 sshd: manueljordan@pts/2
2408 pts/2 Ss 0:00 -bash
2437 pts/2 S+ 0:00 less
2846 pts/1 S+ 0:00 man ps
2856 pts/1 S+ 0:00 pager
2975 pts/0 R+ 0:00 ps xO psr
如果你意识到这样PSR
做不是出现,为什么?
但如果ps xO %cpu,psr
执行的话输出是:
PID %CPU PSR S TTY TIME COMMAND
1677 0.0 1 S ? 00:00:00 systemd
1679 0.0 2 S ? 00:00:00 (sd-pam)
1704 0.0 1 S tty1 00:00:00 bash
1961 0.0 0 S tty4 00:00:00 bash
1973 0.0 1 S tty4 00:00:00 man
1983 0.0 2 S tty4 00:00:00 pager
2227 0.0 3 S ? 00:00:00 sshd
2228 0.0 3 S pts/0 00:00:00 bash
2307 0.0 3 S ? 00:00:01 sshd
2308 0.0 3 S pts/1 00:00:00 bash
2407 0.0 0 S ? 00:00:00 sshd
2408 0.0 0 S pts/2 00:00:00 bash
2437 0.0 0 S pts/2 00:00:00 less
2846 0.0 0 S pts/1 00:00:00 man
2856 0.0 0 S pts/1 00:00:00 pager
2981 0.0 0 R pts/0 00:00:00 ps
或者如果ps xO uname,psr
执行则输出为:
PID USER PSR S TTY TIME COMMAND
1677 manuelj+ 1 S ? 00:00:00 systemd
1679 manuelj+ 2 S ? 00:00:00 (sd-pam)
1704 manuelj+ 1 S tty1 00:00:00 bash
1961 manuelj+ 0 S tty4 00:00:00 bash
1973 manuelj+ 1 S tty4 00:00:00 man
1983 manuelj+ 2 S tty4 00:00:00 pager
2227 manuelj+ 3 S ? 00:00:00 sshd
2228 manuelj+ 3 S pts/0 00:00:00 bash
2307 manuelj+ 3 S ? 00:00:01 sshd
2308 manuelj+ 3 S pts/1 00:00:00 bash
2407 manuelj+ 0 S ? 00:00:00 sshd
2408 manuelj+ 0 S pts/2 00:00:00 bash
2437 manuelj+ 0 S pts/2 00:00:00 less
2846 manuelj+ 0 S pts/1 00:00:00 man
2856 manuelj+ 0 S pts/1 00:00:00 pager
2982 manuelj+ 0 R pts/0 00:00:00 ps
您如何看到何时声明至少另一个额外的标头与标头一起添加PSR
,然后/仅PSR
出现在输出中。
为什么PSR
在声明如何通过选项添加唯一的额外标头时,标头没有出现O
?这是出于某种原因的预期行为吗?
答案1
我建议不要使用O
这样的选项,因为它可能会导致混乱,因为它的行为会根据它获取的字段而变化,而且通常会非常令人困惑。
所以您可能会看到ps xO psr
并认为这意味着它应该排序并显示PSR
(最后使用的处理器)列?
实际上并没有这样做。
上面的@steeldriver 钉住了它,它正在使用旧密钥进行排序。所以你要求ps
排序:pid“p”,大小“s”和RSS“r”。按rsp
或排序spr
同样有效,当然排序顺序不同。
为什么会改变事情?ps xO psr,%cpu
甚至为此ps xO psr,psr
改变事情? ps 现在意识到您不需要旧的排序键,并且正在使用列的名称进行排序。