GNU/Linux >> Linux Esercitazione >  >> Linux

ps può visualizzare solo processi non kernel su Linux?

Questo dovrebbe fare (sotto Linux):

ps --ppid 2 -p 2 --deselect

kthreadd (PID 2) ha PPID 0 (su Linux 2.6+ ) ma ps non consente di filtrare per PPID 0; quindi questa soluzione alternativa.


Un modo per riconoscere i processi del kernel è che non usano alcuna memoria utente, quindi il campo vsz è 0. Questo cattura anche gli zombi (grazie a Stephane Chazelas per questa osservazione), che possono essere eliminati in base al loro stato.

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

Per elencare solo i PID:

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

In pratica ho trovato sufficiente il seguente idioma:

ps auxf | grep -v ]$

Filtra le righe che terminano con parentesi, cosa che potrebbe risultato omettendo voci indesiderate ma è molto improbabile. In cambio è abbastanza facile da ricordare e relativamente veloce da digitare.

Alcuni processi come avahi-daemon aggiungono informazioni al loro nome di processo tra parentesi (il nome host nel caso di avahi-daemon) e verranno filtrati da questo comando.


Linux
  1. Linux – I diversi kernel Linux/unix sono intercambiabili?

  2. comando Linux ps

  3. Comando ls di Linux

  4. Puoi eseguire Xcode in Linux?

  5. Limita il comando top per visualizzare solo i processi X migliori sulla riga di comando

Comando Dmesg in Linux

Comando Pgrep in Linux

Comando slabtop di Linux - Visualizza le informazioni sulla cache del kernel Slab

Kernel Linux vs. Kernel Mac

Visualizza le informazioni sul modulo del kernel Linux con il comando Modinfo

Comprensione dei processi su Linux