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

16

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

garconcn
источник

Ответы:

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 году.
Рамашаланка