Gestion des processus sous Linux : Un guide pour utiliser ps, kill et nice

Gestion des processus sous Linux Unix guide pour utiliser ps kill nice

Introduction

Dans le système d’exploitation Linux, la gestion des processus est une compétence essentielle pour les administrateurs système et les utilisateurs. Que vous ayez besoin de surveiller les processus en cours d’exécution, de mettre fin à des processus indésirables ou d’ajuster leur priorité d’exécution, plusieurs commandes en ligne puissantes sont à votre disposition : pskill et nice. Dans cet article, nous allons explorer comment utiliser efficacement ces commandes pour gérer les processus sous Linux.

I. Comprendre la commande ps

La commande ps (qui signifie “Process Status” ou “État des processus”) est utilisée pour obtenir des informations sur les processus en cours d’exécution dans un système Linux. Par défaut, la commande ps affiche les processus associés à l’utilisateur en cours. Voici comment utiliser la commande ps de manière efficace :

  1. Afficher les informations de base sur les processus Pour obtenir une liste des processus en cours d’exécution avec leurs informations de base, ouvrez un terminal et saisissez la commande suivante :
$ ps aux

Cette commande affichera un tableau avec des colonnes représentant l’identifiant du processus (PID), l’utilisation du CPU, l’utilisation de la mémoire, l’utilisateur, la commande et d’autres informations.

  1. Filtrer les processus Vous pouvez filtrer la liste des processus en utilisant différentes options pour afficher uniquement les processus qui vous intéressent. Par exemple :
$ ps -ef | grep <nom_processus>

Cette commande affichera les processus correspondant au <nom_processus> spécifié. La commande grep est utilisée pour rechercher des mots-clés spécifiques dans la sortie de la commande ps.

  1. Surveiller les processus en temps réel Pour surveiller en temps réel les processus et mettre à jour dynamiquement les informations, vous pouvez utiliser la commande suivante :
$ watch -n 1 'ps aux'

Cette commande actualisera la liste des processus toutes les secondes, fournissant une vue à jour des processus en cours d’exécution.

II. Terminer les processus avec la commande kill

Une fois que vous avez identifié un processus à terminer, la commande kill entre en jeu. Elle permet d’envoyer différents signaux à un processus pour demander une terminaison propre ou forcée. Voici comment utiliser efficacement la commande kill :

  1. Terminer les processus proprement Pour terminer un processus de manière propre, vous pouvez utiliser la commande suivante :
$ kill <PID>

Remplacez <PID> par l’identifiant du processus cible. Par défaut, la commande kill envoie le signal SIGTERM, qui demande au processus de se terminer proprement.

  1. Terminer les processus de force Dans certaines situations, un processus peut ne pas répondre au signal SIGTERM. Dans ce cas, vous pouvez envoyer le signal SIGKILL pour terminer le processus de force en utilisant l’option -9 avec la commande kill :
$ kill -9 <PID>

Notez que cette option devrait être utilisée en dernier recours, car elle ne permet pas au processus de faire des opérations de nettoyage avant de se terminer.

  1. Terminer plusieurs processus Si vous devez terminer plusieurs processus simultanément, vous pouvez spécifier leurs identifiants de processus séparés par des espaces :
$ kill <PID1> <PID2> <PID3>

Cette commande enverra le signal SIGTERM à chaque processus, leur demandant de se terminer proprement.

III. Utiliser nice pour ajuster la priorité d’exécution des processus

La commande nice est utilisée pour ajuster la priorité d’exécution des processus. En attribuant différentes priorités, vous pouvez contrôler l’allocation des ressources du processeur aux processus. Voici comment utiliser efficacement la commande nice :

  1. Définir la priorité d’un processus Pour démarrer un nouveau processus avec une priorité spécifique, vous pouvez utiliser la commande suivante :
$ nice -n <priorité> <commande>

Remplacez <priorité> par la valeur souhaitée (généralement entre -20 et 19, où les valeurs inférieures indiquent une priorité plus élevée) et <commande> par la commande que vous souhaitez exécuter.

  1. Changer la priorité d’un processus Si un processus est déjà en cours d’exécution et que vous souhaitez modifier sa priorité, vous pouvez utiliser la commande renice. Par exemple :
$ renice -n <priorité> -p <PID>

Remplacez <priorité> par la nouvelle valeur de priorité et <PID> par l’identifiant du processus cible.

  1. Vérifier la priorité d’un processus Pour vérifier la priorité d’un processus en cours d’exécution, vous pouvez utiliser la commande ps en combinaison avec la valeur nice. Par exemple :
$ ps -eo pid,ni,cmd

Cette commande affichera l’identifiant du processus, la valeur nice et la commande pour chaque processus.

IV. Utilisation avancée et options supplémentaires

Les commandes pskill et nice offrent des options supplémentaires pour une gestion avancée des processus :

  1. Format de sortie personnalisé avec ps Vous pouvez personnaliser le format de sortie de la commande ps en utilisant l’option --format. Par exemple :
$ ps --format "<spécificateurs_format>"

Cette commande vous permet de spécifier les colonnes souhaitées et leur ordre dans la sortie.

  1. Affichage en arborescence des processus avec ps Pour afficher les processus sous forme d’arborescence, utilisez la commande pstree en combinaison avec ps :
$ pstree -p <PID>

Cette commande affichera l’arborescence des processus à partir du processus spécifié par <PID>.

  1. Envoi de différents signaux avec kill La commande kill peut envoyer des signaux autres que SIGTERM et SIGKILL. Par exemple, pour demander à un processus de recharger sa configuration, vous pouvez envoyer le signal SIGHUP avec la commande suivante :
$ kill -HUP <PID>

Consultez la page de manuel de la commande kill pour plus d’options de signaux.

Conclusion

Les commandes pskill et nice sont des outils puissants pour gérer les processus sous Linux. Avec ps, vous pouvez surveiller les processus en cours d’exécution, filtrer les résultats et afficher les hiérarchies des processus. La commande kill vous permet de terminer les processus proprement ou de force, tandis que nice vous permet d’ajuster la priorité des processus. En maîtrisant ces commandes et leurs options, vous pouvez gérer efficacement les processus de votre système Linux et garantir des performances optimales.

Laisser un commentaire