GNU/Linux >> Tutoriels Linux >  >> Linux

Commandes pour la gestion des processus sous Linux

Dans cet article, nous aborderons la gestion des processus sous Linux. Un processus sous Linux n'est rien d'autre qu'un programme en cours d'exécution. C'est une instance en cours d'exécution d'un programme. Toute commande que vous exécutez démarre un processus.

Types de processus sous Linux

Sous Linux, les processus peuvent être de deux types :

  • Processus de premier plan
    dépendent de l'utilisateur pour la saisie
    également appelés processus interactifs
  • Processus en arrière-plan
    fonctionner indépendamment de l'utilisateur
    appelés processus non interactifs ou automatiques

États de processus sous Linux

Un processus sous Linux peut passer par différents états après sa création et avant sa fin. Ces états sont :

  • Courir
  • Dormir
    • Sommeil interruptible
    • Sommeil ininterrompu
  • Arrêté
  • Zombie
  • Un processus en exécution état signifie qu'il est en cours d'exécution ou qu'il est prêt à fonctionner.
  • Le processus est dans un sommeil indiquer quand il attend qu'une ressource soit disponible.
  • Un processus en sommeil interruptible se réveillera pour gérer les signaux, alors qu'un processus en veille ininterruptible ne le sera pas.
  • Un processus entre dans unarrêté lorsqu'il reçoit un signal d'arrêt.
  • Zombie l'état est lorsqu'un processus est mort mais que l'entrée du processus est toujours présente dans la table.

Différentes commandes pour la gestion des processus sous Linux

Deux commandes sont disponibles sous Linux pour suivre les processus en cours d'exécution. Ces deux commandes sont Top et Ps .

1. La meilleure commande pour gérer les processus Linux

Pour suivre les processus en cours d'exécution sur votre machine, vous pouvez utiliser la commande top.

$ top 

La commande Top affiche une liste des processus qui s'exécutent en temps réel avec leur utilisation de la mémoire et du processeur. Comprenons un peu mieux le résultat :

  • PID  :ID de processus unique attribué à chaque processus.
  • Utilisateur :Nom d'utilisateur du propriétaire du processus.
  • RP :Priorité donnée à un processus lors de la planification.
  • NI : valeur « agréable » d'un processus.
  • VIRT  :Quantité de mémoire virtuelle utilisée par un processus.
  • RES :Quantité de mémoire physique utilisée par un processus.
  • SHR  :Quantité de mémoire partagée avec d'autres processus.
  • S :état du processus
    • ‘D’ =sommeil ininterrompu
    • "R" =courir 
    • ‘S’ =dormir 
    • "T" =tracé ou arrêté 
    • 'Z' =zombi
  • %CPU  :Pourcentage de CPU utilisé par le processus.
  • %MEM; Pourcentage de RAM utilisé par le processus.
  • TIME+ : Temps CPU total consommé par le processus.
  • Commande :Commande utilisée pour activer le processus.

Vous pouvez utiliser le bouton haut/bas touches fléchées pour naviguer de haut en bas dans la liste. Pour quitter, appuyez sur q . Pour tuer un processus, mettez-le en surbrillance avec les touches fléchées haut/bas et appuyez sur 'k'.

Alternativement, vous pouvez également utiliser la commande kill, que nous verrons plus tard.

2. commande ps

La commande ps est l'abréviation de "Process Status". Il affiche les processus en cours d'exécution. Cependant, contrairement à la commande top, la sortie générée n'est pas en temps réel.

$ ps

La terminologie est la suivante :

PID ID de processus
ATS type de borne
HEURE durée totale d'exécution du processus
CMD nom de la commande qui lance le processus

Pour obtenir plus d'informations à l'aide de la commande ps, utilisez :

$ ps -u

Ici :

  • %CPU représente la quantité de puissance de calcul utilisée par le processus.
  • %MEM représente la quantité de mémoire occupée par le processus.
  • STAT représente l'état du processus.

Bien que la commande ps n'affiche que les processus en cours d'exécution, vous pouvez également l'utiliser pour répertorier tous les processus.

$ ps -A 

Cette commande répertorie même les processus qui ne sont pas en cours d'exécution.

3. Arrêter un processus

Pour arrêter un processus sous Linux, utilisez le 'kill' commande. La commande kill envoie un signal au processus.

Il existe différents types de signaux que vous pouvez envoyer. Cependant, le plus courant est 'kill -9' qui est 'SIGKILL ‘.

Vous pouvez lister tous les signaux en utilisant :

$ kill -L

Le signal par défaut est 15, qui est SIGTERM . Ce qui signifie que si vous utilisez simplement la commande kill sans numéro, elle envoie le signal SIGTERM.

La syntaxe pour tuer un processus est :

$ kill [pid]

Alternativement, vous pouvez également utiliser :

$ kill -9 [pid]

Cette commande enverra un signal « SIGKILL » au processus. Cela devrait être utilisé au cas où le processus ignorerait une demande de destruction normale.

4. Changer la priorité d'un processus

Sous Linux, vous pouvez hiérarchiser les processus. La valeur de priorité d'un processus est appelée la valeur "Niceness". La valeur de gentillesse peut aller de -20 à 19 . 0 est la valeur par défaut.

La quatrième colonne de la sortie de la commande top est la colonne de la valeur de gentillesse.

Pour démarrer un processus et lui donner une belle valeur autre que celle par défaut, utilisez :

$ nice -n [value] [process name]

Pour modifier la valeur nice d'un processus qui est déjà en cours d'exécution, utilisez :

renice [value] -p 'PID'

Conclusion

Ce tutoriel a couvert la gestion des processus sous Linux. Ce sont principalement les aspects pratiques de la gestion des processus qui ont été abordés. En théorie, la gestion des processus est un vaste sujet et le couvrir dans son intégralité est hors de portée de ce didacticiel.


Linux
  1. Mes commandes Linux préférées pour optimiser les images Web

  2. 20 commandes Linux essentielles pour chaque utilisateur

  3. 3 feuilles de triche Linux essentielles pour la productivité

  4. Aide-mémoire pour les commandes Linux courantes

  5. 10 commandes Linux pour les diagnostics réseau

Comment tuer un processus sous Linux ? Commandes pour terminer

Comment répertorier les processus en cours d'exécution sous Linux

Commande Ps sous Linux (liste des processus)

Comment tuer les processus Zombie sous Linux

Surveillance des processus sous Linux

Commandes de gestion de groupe sous Linux