如何从Linux Top屏幕中排除某些用户?


16

top屏幕上,默认情况下它显示所有用户的进程。如何从顶部实时屏幕中排除某些用户(例如,root用户和nobody)?

Answers:


16

正确的答案是:(-U '!root'-u '!root'在某些Ubuntu上)。这是在顶级v3.2.9中引入的:

man top 对于-U选项:

在用户ID或名称前加上感叹号('!')会指示top仅显示用户与提供的进程不匹配的进程。

请记住将感叹号和用户名放在单引号中。


3
请注意,这适用于的最新版本top。3.3.9拥有,而3.2.8没有。
Deer Hunter

3
奇怪的是,在Ubuntu 14.04上,我需要使用-u而不是-U
muru

4
我不得不使用top -u '!root'NOT不能!被shell解释(我相信那是不带单引号的情况)。
steveb '16

您可以交互输入u然后!root
Beco博士

2
更好的是,添加一个过滤器以排除所有系统用户,例如Oand filter RUID>999。您需要先添加RUID列。
Beco博士

3

另外,从3.3版开始,您可以utop运行时键入并输入该!root字符串。


2

top -U root仅显示来自根的进程。不幸的是,这是根据手册页限制用户的唯一选项。


但是,如果您想偏离使用top,则可以ps aux | grep -v $USERNAME查看除指定用户之外的所有进程。
蒂姆(Tim)

谢谢。我知道这两个命令。我到处搜寻,但没有人问到。top -u可以看到一个用户,但我想实时看到更多用户。
garconcn 2012年

4
顶部| egrep -ve“(root | knoppix)”?修改以适合您的要求。
dtbnguyen 2012年

1

正如Beco博士所建议的那样,最通用的过滤机制使用“ o / O”激活“其他过滤”,同时top排除/包括多个用户。

例如,要排除“ root”和“ nobody”,可以使用命令o!USER=root<enter>o!USER=nobody

使用此过滤选项,可以得到许多有趣的视图!


我认为这是回答问题的唯一答案:“排除一些用户(例如,root用户和nobody)”,即排除多个用户。也许这在2012
。– Ramashalanka,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.