Comment gérer les processus sous Linux en ligne de commande ?

Un processus est un terme utilisé pour décrire une application ou un programme. Par exemple, lorsque nous ouvrons un navigateur Internet comme Google Chrome, nous pouvons dire qu’un processus, responsable de l’exécution de Chrome, a été lancé et est en cours d’exécution jusqu’à ce que nous fermions le navigateur. Même lorsque nous exécutons une commande bash, un nouveau processus apparaît. Si nous ouvrons la même application deux fois ou si vous et un ami l’ouvrez sur le même système, deux processus seront lancés. Dans ce tutoriel, nous vous apprendrons à gérer les processus sous Linux via la ligne de commande. Cela est nécessaire si vous souhaitez voir les processus actifs ou si vous souhaitez voir les processus qui prennent la plupart des ressources de votre machine.

Ce dont vous aurez besoin

Avant de gérer les processus sur Linux, assurez-vous d’avoir les éléments suivants:

  • Accès à la ligne de commande

Étape 1 – Affichage des processus sous Linux

Voici des mots-clés utiles pour apprendre avant de commencer à lire ce didacticiel:

  1. PID – ID de processus. Chaque processus possède son propre numéro à 5 chiffres. Il ne peut pas y avoir plus d’un même PID dans le système.
  2. PPID – ID de parent de processus. ID du processus qui a lancé ce processus en particulier.

Les deux commandes les plus couramment utilisées pour visualiser les processus sont top et ps. La différence entre les deux est que top est utilisé de manière interactive/dans un terminal et que ps est plutôt utilisé dans les scripts, combiné avec d’autres commandes bash.

top – Cette commande est probablement la plus basique et est souvent utilisé pour afficher simplement les processus qui consomment le plus de ressources actuellement. Lorsque vous exécutez la commande top dans un terminal, vous verrez une fenêtre semblable à ceci:

commande top terminal

top est une appliction simple. Après l’exécution de la commande, le terminal change d’affichage. La liste des processus est constamment mise à jour toutes les 5 secondes environ. Ce nouvel affichage est interactif grâce à l’utilisation du clavier. Quelques exemples:

  • H ou ? – Afficher une fenêtre d’ aide avec toutes les commandes et autres informations utiles.
  • Espace – Appuyez dessus pour mettre à jour la liste des processus.
  • F – Ajouter des champs ou supprime certains champs.
  • Q – Quitte l’application top ou une fenêtre rattachée à top. Par exemple, après avoir utilisé la fonction F.
  • L – Affiche les informations relatives à la disponibilité et l’utilisation moyenne.
  • M – Permet d’afficher des informations sur la mémoire.
  • P (Shift + p) – Trier les processus en fonction de l’utilisation du processeur.
  • S – Modifie le délai entre les actualisations (En secondes).

Avec la commande top  , vous pouvez également utiliser certaines options, telles que:

  • -d delay  – pour spécifier l’intervalle de rafraîchissement à la place du délai.
  • -n number  – rafraîchir un certain nombre de fois, puis quitter top.
  • -p pid  -affiche uniquement et surveille les processus qui ont un id de processus ( pid ) particulier.
  • -q  – rafraîchir sans délai.

Pour d’autres commandes et options de clavier utiles, consultez ce site Web.

Vous pouvez également utiliser man top pour afficher d’autres informations utiles concernant cette commande.

Autres usages utiles de top  :

  • Pour afficher les processus d’un utilisateur en particulier, vous pouvez utiliser: top -u utilisateur
  • Pour tuer/arrêter un processus en cours d’exécution, trouvez le PID du processus que vous souhaitez tuer et appuyez sur k (une autre commande du clavier). Vous serez invité à entrer ce même PID et à exécuter la commande.
  • Vous pouvez enregistrer les paramètres actuels de la commande top en utilisant le raccourci clavier Shift + W. Les paramètre seront sauvegardés dans /root/.toprc

ps – Une autre commande très utile pour afficher les processus sous Linux. Voici quelques options fréquemment utilisées avec la commande ps :

  • -e  – Affiche tous les processus.
  • -f  – Listing complet.
  • -r  – Affiche uniquement les processus en cours d’exécution.
  • -u  – Possibilité d’utiliser un nom d’utilisateur (ou plusieurs) en particulier.
  • –pid  – Option de filtrage par PID .
  • –ppid  – Option de filtrage par PPID .
  • -C  – Filtrer les processus par leur nom ou leur commande.
  • -o  – Affiche les informations associées à une liste de mots-clés séparés par des virgules ou des espaces.

Voici quelques exemples utiles sur la façon dont vous pouvez utiliser la commande « ps » :

  1. ps -ef  – répertorie les processus en cours d’exécution. (Une autre commande similaire est ps aux )
  2. ps -f -u user1,user2  – Affiche tous les processus basés sur un ou des UID en particulier (User ID ou nom d’utilisateur).
  3. ps -f –pid id  – Affiche les processus basés sur un PID. A la place de id entrez le PID correspondant. Peut être utilisé avec –ppid au lieu de –pid pour filtrer par PPID.
  4. ps -C commande/nom  – filtre les processus par leur nom ou leur commande.
  5. ps aux –sort=-pcpu,+pmem  – Affiche les processus consommant la plus grande quantité de CPU.
  6. ps -e -o pid,uname,pcpu,pmem,comm  – Utilisé pour afficher certaines colonnes seulement.
  7. ps -e -o pid,comm,etime  – Affiche le temps depuis lequel le processus a démarré.

Nous vous recommandons de consulter cette page pour plus d’informations et l’utilisation de la commande ps .

Étape 2 – Tuer et hiérarchiser les processus

Nous vous avons déjà montré comment tuer/arrêter un processus avec la commande top . Mais vous pouvez également le faire avec la commande kill . Par exemple:

kill pid  – Ici, au lieu du PID, vous devez entrer l’ID du processus que vous voulez tuer. Si le processus ne veut pas s’arrêter, vous pouvez utiliser: kill -9 pid  .

Une autre commande utile pour la gestion des processus est NICE . Il vous permet de hiérarchiser les processus au cas où vous en exécutez beaucoup sur votre système. De cette façon, votre système saura quels processus sont les plus importants et les exécutera en premier. Cette commande vous aide à prioriser les processus du plus important au moins important. Pour les processus qui ont une priorité inférieure, le système ne les exécutera que s’il le peut  (si une le processeur a assez de ressources à y allouer). Cette commande peut recevoir une valeur entre -20 et 19. Plus la valeur est basse, plus la priorité sera élevée pour un processus. La priorité par défaut de TOUS les processus est 0. La syntaxe de base est la suivante:

  • nice -n ‘Priorité’ processus nom  – Exemple: nice -n 10 nom  . Cela démarrera un nouveau processus avec la priorité 10.
  • S’il existe déjà un processus s’exécutant sur le système avec le même nom et que vous voulez lui donner une priorité différente, vous pouvez utiliser: renice ‘Priorité’ -p ‘PID’  Exemple: renice ’10’ -p ‘54125’.

Conclusion

Dans ce tutoriel, vous avez appris à gérer les processus sous Linux en ligne de commande. Il y a beaucoup de combinaisons différentes que vous pouvez utiliser avec les commandes que nous vous avons fourni, alors n’hésitez pas à expérimenter de vous même !

J’espère vous avoir été utile et je vous dis à très vite pour un nouveau tutoriel !

Author
L'auteur

Brice Basty

Brice est un assistant marketing chez Hostinger, il aime les nouvelles technologies du web et la rédaction de contenu. Des compétences qu’il met en pratique pour créer des tutoriels et articles instructifs et utiles pour aider les lecteurs de Hostinger à réussir en ligne.