GNU/Linux >> Tutoriels Linux >  >> Linux

Ps peut-il afficher uniquement les processus non-noyau sous Linux ?

Cela devrait faire (sous Linux):

ps --ppid 2 -p 2 --deselect

kthreadd (PID 2) a PPID 0 (sur Linux 2.6+ ) mais ps ne permet pas de filtrer pour PPID 0 ; donc cette solution de contournement.


Une façon de reconnaître les processus du noyau est qu'ils n'utilisent aucune mémoire utilisateur, donc le champ vsz est 0. Cela attrape également les zombies (merci à Stéphane Chazelas pour cette observation), qui peuvent être éliminés en fonction de leur statut.

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

Pour lister uniquement les PID :

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

En pratique, j'ai trouvé l'idiome suivant suffisant :

ps auxf | grep -v ]$

Il filtre les lignes se terminant par des crochets, ce qui pourrait résultat en omettant les entrées indésirables, mais c'est très peu probable. En échange, il est assez facile à retenir et relativement rapide à taper.

Certains processus comme avahi-daemon ajoutent à leur nom de processus des informations entre parenthèses (le nom d'hôte dans le cas d'avahi-daemon) et seront filtrés par cette commande.


Linux
  1. Linux – Init Process :ancêtre de tous les processus ?

  2. Commande Linux ps

  3. Commande Linux ls

  4. Limiter la commande supérieure pour afficher uniquement les processus X supérieurs sur la ligne de commande

  5. Comment un noyau Linux peut-il être si petit ?

Commande Dmesg sous Linux

Commande Pgrep sous Linux

Commande Linux slabtop - Afficher les informations sur le cache de la dalle du noyau

Le noyau Linux contre. Mac noyau

Afficher les informations du module du noyau Linux avec la commande Modinfo

Comprendre les processus sous Linux