GNU/Linux >> Tutoriales Linux >  >> Linux

¿Puede ps mostrar solo procesos que no sean del kernel en Linux?

Esto debería hacer (bajo Linux):

ps --ppid 2 -p 2 --deselect

kthreadd (PID 2) tiene PPID 0 (en Linux 2.6+ ) pero ps no permite filtrar por PPID 0; por lo tanto, esta solución alternativa.


Una forma de reconocer los procesos del núcleo es que no utilizan memoria de usuario, por lo que el campo vsz es 0. Esto también atrapa zombis (gracias a Stephane Chazelas por esta observación), que pueden eliminarse según su estado.

ps axl | awk '$7 != 0 && $10 !~ "Z"'

Para enumerar solo los PID:

ps -e -o pid= -o state= -o vsize= | awk '$2 != "Z" && $3 != 0 {print $1}'

En la práctica encontré suficiente el siguiente modismo:

ps auxf | grep -v ]$

Filtra las líneas que terminan con corchetes, que podrían resultado omitiendo entradas no deseadas pero es muy poco probable. A cambio, es bastante fácil de recordar y relativamente rápido de escribir.

Algunos procesos como avahi-daemon agregan a su nombre de proceso información entre paréntesis (el nombre de host en el caso de avahi-daemon) y serán filtrados por este comando.


Linux
  1. Módulos del kernel de Linux sin los que no podemos vivir

  2. comando linux ps

  3. comando linux ls

  4. ¿Se puede ejecutar Xcode en Linux?

  5. ¿Cómo puede un kernel de Linux ser tan pequeño?

Comando Dmesg en Linux

Comando Pgrep en Linux

Comando slabtop de Linux - Mostrar información de caché de kernel Slab

Núcleo de Linux vs. Núcleo de Mac

Mostrar información del módulo del kernel de Linux con el comando Modinfo

Comprender los procesos en Linux