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 : ps
, kill
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 :
- 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.
- 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
.
- 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
:
- 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.
- 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 commandekill
:
$ 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.
- 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
:
- 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.
- 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.
- 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 valeurnice
. 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 ps
, kill
et nice
offrent des options supplémentaires pour une gestion avancée des processus :
- Format de sortie personnalisé avec
ps
Vous pouvez personnaliser le format de sortie de la commandeps
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.
- Affichage en arborescence des processus avec
ps
Pour afficher les processus sous forme d’arborescence, utilisez la commandepstree
en combinaison avecps
:
$ pstree -p <PID>
Cette commande affichera l’arborescence des processus à partir du processus spécifié par <PID>
.
- Envoi de différents signaux avec
kill
La commandekill
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 ps
, kill
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.