GNU/Linux >> Tutoriels Linux >  >> Linux

Désencombrer la gestion des processus avec ps ou systemd

L'une de mes activités les moins préférées en tant qu'ingénieur de support était d'essayer de passer au crible le tas de débris qu'est le ps commande. Inévitablement, un processus Java provoquait une erreur et restait bloqué sur un port dont j'avais besoin pour redémarrer un service. Le service apparaîtrait comme up , mais il n'y avait aucune fonctionnalité. Cette situation était déroutante pour les techniciens juniors et c'est quelque chose qu'on m'a demandé de corriger très souvent en trouvant le processus qui était bloqué et en le tuant. Il peut également arriver que vous ayez besoin de voir si un processus particulier est en cours d'exécution ou de savoir si un processus a généré des processus enfants. Ces scénarios sont où la compréhension des groupes de contrôle sera extrêmement utile. Les groupes de contrôle, à un niveau de base, organisent les processus en fonction du parent, puis organisent les processus dans une hiérarchie.

Ici, nous examinerons deux manières d'améliorer le ps standard commande que la plupart des gens utilisent. Je connais beaucoup de gens qui associent ps avec grep , et comme la tarte aux noix de pécan et Noah's Mill, j'approuve pleinement cette pratique. Je vous encourage également à vérifier les deux méthodes suivantes, car elles peuvent faciliter un peu la compréhension des hiérarchies de processus.

Méthode 1

La première méthode est un ps standard commande avec l'arborescence de processus activée. Lorsque vous exécutez cette commande : 

[root@fed31 ~]# ps xawf -eo pid,user,cgroup,args

la sortie suivante peut être le résultat :

Cette sortie a été raccourcie car elle est très détaillée. Cependant, vous recevez une grande quantité d'informations avec cette commande. De gauche à droite, nous avons le PID, l'UTILISATEUR, le CGROUP et la COMMANDE.

Je trouve que cette sortie est un excellent moyen de voir exactement quel processus appartient à quel travail parent. Il est également dans un format assez convivial. La commande elle-même peut être beaucoup à taper régulièrement, je recommande donc de configurer un alias de shell. Pour plus d'informations sur la création d'un alias, consultez mon article sur le sujet ici. Pour l'instant, quelque chose comme ceci serait approprié : 

alias pscgroup='ps xawf -eo pid,user,cgroup,args'

Méthode 2

La prochaine option que nous examinerons est un systemd utilitaire. Cette méthode est un moyen encore meilleur, à mon humble avis, de voir quel travail appartient à quel processus parent ou propriétaire. Lorsque vous saisissez ceci : 

[root@fed31 ~]# systemd-cgls

le résultat pourrait ressembler à ceci :

Encore une fois, la capture d'écran a été raccourcie en raison de la longueur de la sortie. Dans cette version, vous pouvez voir plus facilement quel processus appartient à quel utilisateur, et chaque processus affiche ses processus enfants sous forme de sous-ensembles d'informations. Cette méthode est un moyen très simple de voir l'organisation des processus et de s'approprier rapidement.

Ces deux méthodes de processus de visualisation m'ont aidé à comprendre ce qui appartient à quoi. J'espère que vous les trouverez également utiles !

[Vous voulez essayer Red Hat Enterprise Linux ? Téléchargez-le maintenant gratuitement.]


Linux
  1. Comment vérifier l'utilisation de la mémoire du processus avec la commande Linux pmap

  2. Commande JQ sous Linux avec exemples

  3. Comment trouver le processus avec un maximum de descripteurs de fichiers ?

  4. Pourquoi exécuter une commande shell Linux avec '&' ?

  5. Linux :fermer un programme avec la ligne de commande (ne pas le tuer)

15 Commande Linux ps avec exemples

Commande Killall sous Linux avec des exemples

La commande Wait sous Linux expliquée avec des exemples

Gestion des processus Linux améliorée avec htop

Gestion des dossiers zippés ou compressés avec le terminal Linux

Commande d'historique avec exemples