Gestion des processus Linux : le guide ultime

Sur les systèmes d'exploitation Linux et Unix, une instance d'une commande en cours d'exécution est appelée "processus". Vous pouvez identifier chaque processus par son identifiant unique. Linux fournit des outils de ligne de commande pour répertorier, gérer et surveiller efficacement ces processus.

Vous pouvez utiliser ces outils pour hiérarchiser chaque processus, les mettre en arrière-plan ou au premier plan pour gérer efficacement les ressources système. Vérifier Avantages et inconvénients de l'utilisation du sous-système Windows pour Linux.

Gestion des processus Linux : le guide ultime - Linux

Ce guide de gestion des processus sous Linux comprend des outils tels que ps, kill, renice et d'autres commandes qui aideront l'administrateur système à gérer et répertorier les processus.

Lister la liste des processus avec la commande ps .

L'outil de ligne de commande le plus ancien et le plus largement utilisé pour répertorier les processus en cours d'exécution sous Linux est ps. Bien que cette commande soit un autre moyen interactif, orienté écran, de gérer et de répertorier les processus système, ps affiche également des informations supplémentaires telles que les ressources consommées par chaque processus.

Puisqu'il existe un environnement multi-utilisateurs, chaque processus sous Linux est associé à un compte d'utilisateur et à un compte de groupe distincts. Par conséquent, les informations de compte ainsi que les détails du processus vous aident à accéder aux ressources système que le processus peut utiliser.

Par exemple, les processus enracinés peuvent accéder à plus de ressources système qu'un utilisateur normal, et c'est là que la commande ps aide les administrateurs système.

La sortie suivante est un exemple de liste de processus avec les noms d'utilisateur, le temps écoulé, la mémoire associée et la consommation de CPU :

Gestion des processus Linux : le guide ultime - Linux

Vous pouvez également noter la colonne STAT qui affiche l'état du processus en cours d'exécution. La lettre R représente le processus en cours d'exécution, S représente le processus en veille et le signe plus indique les processus de premier plan.

Vous pouvez lister tous les processus de l'utilisateur actuel comme suit :

ps ux | less

Pour répertorier les processus de tous les utilisateurs :

ps aux | less

Gestion des processus à l'aide de System Monitor

Le Moniteur système fournit une manière graphique d'afficher et de gérer les processus. Pour démarrer le Moniteur système, accédez à Applications -> Moniteur système. Passez à l'onglet Processus pour afficher tous les processus en cours d'exécution.

Gestion des processus Linux : le guide ultime - Linux

Par défaut, les processus sont affichés par ordre alphabétique pour l'utilisateur actuel. Vous pouvez trier la liste des processus en cliquant sur n'importe quel en-tête de colonne. De plus, vous pouvez cliquer sur les adresses CPU et mémoire pour voir quels processus consomment plus de puissance de traitement et de mémoire.

Gestion des processus Linux : le guide ultime - Linux

System Monitor vous permet de gérer les processus de différentes manières, ce qui signifie que vous pouvez arrêter, tuer, continuer, terminer et modifier la priorité d'un processus en cliquant simplement avec le bouton droit sur le nom du processus.

C'est le meilleur choix pour les utilisateurs novices de Linux qui ne savent pas travailler avec les outils de ligne de commande. Vérifier 3 est l’un des meilleurs outils de surveillance du système pour Ubuntu.

Travailler avec des processus d'arrière-plan / de premier plan

Il arrive un moment où vous devez accéder à votre système Linux via le réseau en utilisant uniquement la ligne de commande. Cela limite la gestion efficace de plusieurs applications actives. Mais l'outil shell vous permet de gérer les applications en les basculant en arrière-plan et au premier plan.

Comment démarrer le processus d'arrière-plan

Pour démarrer une application alors que vous êtes encore dans le shell, exécutez la commande, arrêtez-la et mettez-la en arrière-plan avec Ctrl + Z. Pour exécuter une application directement en arrière-plan, ajoutez un "&" à la fin de la commande, comme suit :

find /usr > /tmp/allusrfiles &

Notez le numéro de tâche et l'ID de processus. Gardez à l'esprit que vous ne pouvez pas exécuter de commandes nécessitant une entrée de terminal en arrière-plan.

Vous pouvez utiliser la commande . emplois Pour afficher toutes les applications/processus exécutés en arrière-plan ou ceux que vous avez arrêtés (à l'aide de Ctrl + Z).

jobs

Gestion des processus Linux : le guide ultime - Linux

Comment reprendre les opérations de premier plan et d'arrière-plan

Pour continuer une action que vous avez mise en arrière-plan, utilisez la commande fg , et cela mettra le processus au premier plan.

fg %<job-number>

De même, si vous arrêtez un processus de s'exécuter en arrière-plan, vous pouvez le redémarrer en arrière-plan avec la commande bg , Comme suit:

bg %<job_number>

Tuer les processus sous Linux

Tout comme un outil graphique comme System Monitor vous permet de tuer, d'arrêter et de continuer le processus, vous pouvez également utiliser des outils de ligne de commande comme tuer et killall Pour envoyer un signal à un processus en cours d'exécution.

En plus de simplement tuer le processus, la commande . tuer Il envoie également divers signaux pour gérer les comportements des processus. Vérifier Les meilleures façons de fermer et de tuer des applications qui ne répondent pas sous Linux.

Vous pouvez utiliser des noms ou des numéros pour utiliser un signe.

kill -signalnumber <process-id>
kill -signalname <process-id>

Par exemple, les commandes suivantes envoient un signal SIGTUER Pour traiter avec PID 1987 :

kill -9 1987
kill -SIGKILL 1987

Les signaux de processus les plus couramment utilisés sont :

  • SIGKILL (9) : Tuez le processus immédiatement.
  • SIGTERM (15) : termine le processus.
  • SIGSTOP (19/28/25) : Arrêt du processus.
  • SIGCONT (19/28/25): Le processus se poursuit après son arrêt.
  • SIGUP (1) : Indique au processus de lire son fichier de configuration.

Notez que différents processus répondent différemment à ces signaux, mais ils ne peuvent pas arrêter les signaux PROCHAIN ​​ARRÊT et SIGTUER. Tapez la commande suivante pour en savoir plus sur ces signaux :

man 7 signal

Rafraîchir les processus sous Linux

Le noyau Linux donne la priorité aux processus en cours d'exécution et attribue les ressources système en tenant compte des privilèges des comptes d'utilisateurs. Un autre facteur est le noyau, qui est la "bonne" valeur de chaque processus en cours d'exécution.

La valeur de nice par défaut pour un processus est zéro, mais vous pouvez définir une plage comprise entre -20 et 19. Voici quelques faits concernant la définition de la priorité d'un processus avec de nouvelles valeurs agréables :

  • Un processus avec une faible valeur bonne a plus accès aux ressources CPU.
  • Seul l'utilisateur moyen peut redéfinir les priorités de ses opérations.
  • L'utilisateur normal ne peut définir que des valeurs comprises entre -20 et 19, et ne peut définir qu'une valeur supérieure.
  • L'utilisateur root peut définir les opérations de n'importe qui sur n'importe quelle valeur, haute ou basse.

La gestion des processus sous Linux simplifiée

Un environnement multi-utilisateur contient de nombreux processus qui nécessitent une connaissance suffisante de la gestion des ressources système pour éviter les goulots d'étranglement et les limitations du système. Une partie du travail consiste à gérer les processus en les exécutant en arrière-plan/au premier plan, et en les tuant ou en les renouvelant.

Vous pouvez également en savoir plus sur le meilleur utilitaire de commande pour afficher et trier les processus et apprendre à mettre fin aux processus qui ne répondent pas sous Linux. Vous pouvez désormais visualiser Conseils essentiels pour les utilisateurs avancés d'Ubuntu Linux.

Aller au bouton supérieur