Gestion des processus Linux: commandes à connaître

Pensez-vous que votre ordinateur Linux s’occupera automatiquement de tout seul? Parfois, vous devrez peut-être intervenir directement.

La gestion des processus en est un exemple. Linux crée un processus chaque fois qu’un programme est lancé, soit par vous, soit par Linux. Ce processus est un conteneur d’informations sur le fonctionnement de ce programme et ce qui se passe.

Si le processus s’exécute et se termine correctement, alors tout va bien. cependant, s’il monopolise le processeur ou refuse d’y aller lorsque son temps est écoulé, les commandes Linux décrites ci-dessous peuvent vous aider à rétablir la loi et l’ordre.

Commençons par une liste de choses que vous voudrez peut-être faire lors de la gestion des processus Linux:

  • Voir quels processus sont en cours d’exécution
  • Voyez combien de votre système Linux les processus utilisent (en particulier les plus gourmands)
  • Localisez un processus particulier pour voir ce qu’il fait ou pour agir
  • Définissez ou modifiez le niveau de priorité associé à ce processus
  • Mettre fin au processus s’il a dépassé son utilité ou s’il se comporte mal

Les commandes décrites ci-dessous doivent être saisies via l’interface de ligne de commande. Ouvrez simplement une fenêtre de terminal (tout texte) pour accéder à cette interface. Cela peut sembler basique, mais c’est en fait très puissant et flexible – juste la chose pour garder tous ces processus en ligne.

1. haut

Haut

La commande supérieure vous donne des informations sur les processus qui existent actuellement. Comme le montre l’exemple de sortie ci-dessus, la première partie des informations est un aperçu de la situation.

La deuxième partie, organisée en colonnes, donne des détails sur chaque processus, y compris son numéro de référence unique (PID), sa priorité (PR), son état (S) et l’utilisation des ressources (% CPU, par exemple).

2. htop

La commande htop est comme top, mais plus jolie et plus intelligente. Les informations sont présentées dans un format plus clair, et vous pouvez sélectionner un processus particulier (utiliser les touches fléchées) puis agir dessus (utiliser les touches F1, F2, etc.) avec l’affichage htop.

Alors pourquoi quelqu’un utiliserait-il autre chose que du htop? Tout simplement parce que htop n’est pas toujours disponible par défaut sur les systèmes Linux (alors que top est toujours disponible).

Vous pouvez avoir une étape d’installation supplémentaire avant de pouvoir l’utiliser. Votre instruction d’installation sera sudo apt-get install htop si vous utilisez Ubuntu ou Debian, par exemple.

Les couleurs utilisées par htop dans son affichage aident à transmettre son message.

Les barres de CPU et de mémoire peuvent afficher des barres bleues pour les processus de faible priorité, vertes pour la priorité normale ou rouges pour le noyau. Le jaune correspond au temps IRQ (demande d’interruption), le magenta au temps IRQ doux et le gris au temps d’attente E / S (entrée / sortie).

Le chiffre de charge moyenne représente le degré d’occupation de l’UC. Un chiffre de «1,0» correspond à 100% d’occupation. Le chiffre de «0,37» dans la capture d’écran ci-dessous correspond à 37%.

Il s’agit de la moyenne de charge de la dernière minute. Les deux autres chiffres de moyenne de charge sont les moyennes de charge sur les cinq dernières et les 15 dernières minutes, respectivement.

htop

3. ps

Utilisez la commande ps pour répertorier les processus en cours d’exécution (top et htop listent tous les processus actifs ou inactifs). Vous devrez toutefois spécifier l’une ou l’autre option pour obtenir des informations utiles, cependant.

La commande ps -a répertorie tous les processus de votre système. La commande ps -a | grep mysqld choisirait alors le processus mysqld si, par exemple, vous aviez une connexion via le système à une base de données MySQL.

4. pstree

Une étape de la commande ps simple, pstree est utilisé pour afficher un diagramme arborescent des processus qui montre également les relations qui existent entre eux.

Chaque processus est généré ou généré par un autre processus (un processus parent) sous Linux. Ce qui est important à savoir, c’est que si vous modifiez quelque chose pour un processus parent, vous affectez également les processus enfants.

En particulier, si vous arrêtez le parent, vous arrêtez automatiquement les enfants!

5. qui

La commande who affichera une liste de tous les utilisateurs actuellement connectés à votre système Linux. S’il ne s’agit que de vous et du système d’exploitation lui-même, vous avez la main libre pour gérer les processus comme vous le souhaitez..

D’autre part, si d’autres utilisateurs (humains) sont également connectés, soyez prudent avant de modifier ou de mettre fin aux processus qui peuvent être importants pour eux.

Vous pouvez également utiliser la commande users pour des informations plus simples, la commande whoami pour vous dire qui vous êtes (tel que perçu par le système) et la commande w, qui vous donne non seulement les noms des utilisateurs, mais des informations sur ce qu’ils sont en train de faire.

6. tuer

Comme son nom l’indique, kill peut être utilisé pour mettre fin à un processus avec des préjugés extrêmes. Bien que dans un sens plus général, sa fonction est d’envoyer des signaux (dont l’un est “mourir!”).

Il vous permet d’arrêter des processus individuels ou des groupes de processus sans avoir à arrêter ou redémarrer entièrement votre système Linux – ce que d’autres utilisateurs peuvent également apprécier.

Supposons que votre processus mysqld se comporte mal. Comme vous le savez sur votre écran supérieur, ce processus (dans notre exemple ci-dessus) a un PID de 5979. Pour terminer ce processus, vous pouvez taper:

tuer 5979

Si pour une raison quelconque, cela ne suffit pas, des options plus agressives sont disponibles. Un exemple serait l’option -9 (également appelée -KILL):

tuer -9 5979

OU

tuer -KILL 5979

Si vous ne connaissez pas le PID ou si vous souhaitez prendre un raccourci (assurez-vous simplement que c’est le bon), la commande killall vous permettra de terminer toutes les instances d’un processus portant le même nom. Pour tuer tous les processus appelés mysqld, par exemple, tapez:

killall -9 mysqld

Si tuer semble trop hostile, vous voudrez peut-être d’abord essayer d’être «gentil». La commande nice vous permet de définir la priorité d’un processus avant de l’exécuter (utilisez renice pour un processus qui est déjà en cours d’exécution).

Conclusion

Les commandes décrites ci-dessus ne sont qu’une petite partie de tout ce que l’interface de ligne de commande a à offrir.

Vous pouvez découper et découper votre gestion de processus Linux de nombreuses façons, grâce aux différentes options de commande et à la possibilité de combiner plusieurs commandes à la fois.

En les essayant par vous-même, vous verrez quelles commandes vous sont les plus utiles. N’oubliez pas de penser à leur effet avant de les mettre en action.

Sources de photos: extensionengine.com

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me