Как исключить некоторых пользователей из экрана Linux Top?


16

На topэкране по умолчанию отображаются все процессы пользователей. Как исключить некоторых пользователей (например, root и никто) из верхнего экрана в реальном времени?

Ответы:


16

Правильный ответ: -U '!root'(или -u '!root'на каком-то Ubuntus). Это было введено в топ v3.2.9:

man top для опции -U:

Добавление восклицательного знака ('!') К идентификатору или имени пользователя указывает верхней части отображать только процессы, пользователи которых не соответствуют указанному.

Не забудьте поставить восклицательный знак и имя пользователя в одинарных кавычках.


3
Обратите внимание, что это работает на более поздних версиях top. 3.3.9 имеет, а 3.2.8 нет.
Охотник на оленей

3
Как ни странно, на Ubuntu 14.04 мне нужно было использовать -uвместо -U.
Муру

4
Я должен был использовать, top -u '!root'чтобы НЕ получить !интерпретацию оболочкой (я считаю, что это то, что происходит без одинарных кавычек).
Steveb

Интерактивно вы можете напечатать, uа затем!root
д-р Беко

2
А еще лучше, добавьте фильтр, чтобы исключить всех пользователей системы, например, Oи фильтр RUID>999. Вы должны RUIDсначала добавить столбец.
Доктор Беко

3

Кроме того, начиная с версии 3.3, вы можете просто напечатать, uпока topработает, и ввести эту !rootстроку.


2

top -U rootпоказывает только процессы из корня. К сожалению, это единственный вариант ограничения пользователей в соответствии с man-страницей.


Но если вы хотите отказаться от использования top, вы можете ps aux | grep -v $USERNAMEувидеть все процессы, кроме указанного вами пользователя.
Тим

Благодарю. Я знаю эти две команды. Я искал вокруг, но не нашел никого спросить об этом. top -u может видеть одного пользователя, но я хочу видеть больше пользователей в режиме реального времени.
garconcn

4
верх | egrep -ve "(root | knoppix)"? Изменить в соответствии с вашими требованиями.
dtbnguyen

1

Как было предложено доктором Беко выше, самый общий механизм фильтрации использует «o / O» для активации «Другой фильтрации», а topдля исключения / включения более одного пользователя.

Например, чтобы исключить «root» и «nobody», можно использовать команду o!USER=root<enter>o!USER=nobody.

Многие интересные взгляды возможны с этой опцией фильтрации!


Я думаю, что это единственный ответ, который отвечает на вопрос: «исключить некоторых пользователей (например, root и никто)», то есть исключить более одного пользователя. Возможно, это не было возможно в 2012 году.
Рамашаланка
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.