¿Cómo excluir a algunos usuarios de la pantalla superior de Linux?

16

En la toppantalla, por defecto muestra todos los procesos de los usuarios. ¿Cómo excluir a algunos usuarios (por ejemplo, root y nadie) de la pantalla superior en tiempo real?

garconcn
fuente

Respuestas:

16

La respuesta correcta es: -U '!root'(o -u '!root'en algunos Ubuntus). Esto se introdujo en la v3.2.9 superior:

man top para la opción -U:

Anteponer un signo de exclamación ('!') A la identificación o nombre del usuario indica a top que muestre solo los procesos con usuarios que no coinciden con el proporcionado.

Recuerde poner el signo de exclamación y el nombre de usuario entre comillas simples.

Milán
fuente
3
Tenga en cuenta que esto funciona en las versiones más recientes de top. 3.3.9 lo tiene, mientras que 3.2.8 no.
Deer Hunter
3
Por extraño que parezca, en Ubuntu 14.04, necesitaba usar en -ulugar de -U.
muru
44
Tuve que usar top -u '!root'para NO hacer !que el shell sea interpretado (creo que eso es lo que está sucediendo sin las comillas simples).
steveb
Interactivamente puede escribir uy luego!root
Dr. Beco
2
Mejor aún, agregue un filtro para excluir a todos los usuarios del sistema, me gusta Oy filtro RUID>999. Necesita agregar la RUIDcolumna primero.
Dr Beco
3

Además, a partir de la versión 3.3, puede escribir umientras se topestá ejecutando e ingresar esa !rootcadena.

Dr. bombay
fuente
2

top -U rootmuestra solo procesos desde la raíz. Desafortunadamente, esa es la única opción para limitar a los usuarios según la página de manual.

Tim
fuente
Pero si desea desviarse del uso de top, puede hacerlo ps aux | grep -v $USERNAMEpara ver todos los procesos excepto el usuario que especificó.
Tim
Gracias. Conozco esos dos comandos. He buscado pero no he encontrado a nadie que pregunte sobre esto. top -u puede ver un usuario, pero quiero ver más usuarios en tiempo real.
garconcn
44
arriba | egrep -ve "(root | knoppix)"? Modifique para satisfacer sus necesidades.
dtbnguyen
1

Según lo sugerido por el Dr. Beco anteriormente, el mecanismo de filtrado más general utiliza 'o / O' para activar "Otro filtrado" mientras topexcluye / incluye a más de un usuario.

Por ejemplo, para excluir "root" y "nobody" se puede usar el comando o!USER=root<enter>o!USER=nobody.

¡Muchas vistas interesantes son posibles con esta opción de filtrado!

Kapil
fuente
Creo que esta es la única respuesta que responde a la pregunta: "excluir a algunos usuarios (por ejemplo, root y nadie)", es decir, excluir a más de un usuario. Quizás esto no fue posible en 2012.
Ramashalanka