50 % de réduction sur tous les plans, durée limitée. À partir de $2.48/mo
10 min restantes
Serveurs et OS

Maîtriser la gestion des processus : la commande Linux ps aux

Ada Lovegood By Ada Lovegood 10 min de lecture Mis à jour le 11 juillet 2024
commande linux ps aux

Avez-vous au moins cinq autres onglets ouverts dans votre navigateur pour trouver la réponse à un problème Linux ?
Ce comportement n'a rien d'exceptionnel. Les machines aussi font plusieurs choses à la fois. Tout comme vous, Linux est multitâche et gère plusieurs processus simultanément. Que vous soyez un développeur qui utilise Linux dans un cadre professionnel ou un utilisateur ordinaire qui s'en sert au quotidien, comprendre ces processus parallèles est essentiel pour garder le contrôle de votre système. La gestion des processus et le contrôle du système sont des aspects fondamentaux de l'administration d'un système Linux.

Pour gérer efficacement les processus en cours d'exécution, surveiller l'activité en temps réel, avoir une vue d'ensemble des processus en arrière-plan et contrôler les ressources système, une bonne connaissance de la gestion des processus est indispensable. La commande ps aux est un outil puissant qui joue un rôle central dans la gestion des processus et le contrôle du système. Dans cet article, nous allons approfondir la commande ps aux et ses cas d'usage, et revenir sur les bases du fonctionnement des processus Linux.

Comprendre la gestion des processus sous Linux

Lorsque vous travaillez sous Linux, la plupart de vos interactions avec le système passent par des commandes. Sous Linux, un processus correspond à l'exécution d'une commande. La gestion des processus Linux consiste à agir sur les processus lancés par une commande : vous pouvez en arrêter, en démarrer ou en reprendre après interruption. Vous pouvez également intervenir sur des commandes en cours d'exécution.

Il existe deux types de processus Linux :

  • Processus au premier plan
  • Processus en arrière-plan

Linux Processus au premier plan

Un processus au premier plan est un processus en cours d'exécution qui nécessite généralement une interaction constante et en temps réel avec l'utilisateur. Lorsqu'un tel processus s'exécute, tous les autres processus sont mis en pause — impossible de lancer d'autres commandes. Ce type de processus reçoit les entrées du clavier via l'entrée standard, ou stdin. Pour éviter toute confusion : stdin, stdout et stderr sont des flux de données dans Linux. En résumé, stdin permet à l'utilisateur d'interagir avec le processus et de lui fournir des données, tandis que stdout représente la sortie standard produite par le processus en fonction de son comportement et des données reçues. Le mode d'exécution par défaut dans Linux est le premier plan.

Linux Processus en arrière-plan

Les processus en arrière-plan sont à l'opposé des processus au premier plan : ils ne nécessitent aucune interaction avec l'utilisateur et n'occupent pas le terminal exclusivement, ce qui permet d'exécuter d'autres processus en parallèle. Leur mode d'entrée/sortie est également différent : ils ne lisent généralement pas depuis stdin, mais leurs résultats peuvent s'afficher via stdout. Cet affichage se produit en même temps que la sortie d'autres processus au premier plan. Vous pouvez donc suivre la progression ou consulter les résultats d'un processus en arrière-plan sans interrompre vos autres tâches.

Dans Linux, de nombreuses tâches dépendent de la ligne de commande, et les processus au premier plan peuvent vite devenir contraignants : ils bloquent le terminal tant qu'ils s'exécutent. Passer une tâche en arrière-plan libère le terminal pour d'autres opérations. C'est donc souvent la meilleure approche. Pour envoyer un processus en arrière-plan commencez par l'interrompre au premier plan en appuyant sur CTRL+Z. Saisissez ensuite la commande bg pour le relancer en arrière-plan. La commande fg fait l'inverse : elle ramène le processus au premier plan.

État des processus : syntaxe, commandes et interprétation des résultats

Pour gérer efficacement les processus dans Linux, il faut savoir interpréter leur état, que vous pouvez surveiller avec la commande ps aux. Mais avant d'aller plus loin, voici un aperçu des différents états possibles. Bien qu'il en existe plusieurs, le tableau ci-dessous présente les plus courants :

État du processus description
En cours d'exécution (R) Le processus s'exécute actuellement et utilise des ressources CPU.
En attente Interruptible (S) Le processus attend une entrée ou un événement spécifique pour reprendre. Il n'utilise pas de ressources CPU pour le moment. Il redémarre dès que des ressources sont disponibles ou qu'un signal lui est envoyé.
Non interruptible (D) Comme un processus en attente interruptible, un processus en attente non interruptible n'utilise pas de ressources CPU. La différence : il ne réagit pas aux signaux et ne reprend que lorsque les ressources sont disponibles.
Arrêté (T) Une action de l'utilisateur ou un événement spécifique a suspendu le processus. Un processus à l'état arrêté ne consomme aucune ressource CPU.
Terminé (X) Le processus a été arrêté et n'existe plus.

Bien comprendre ces états est essentiel pour gérer et diagnostiquer efficacement les systèmes Linux. Voyons maintenant la syntaxe et les commandes permettant d'obtenir l'état des processus dans Linux, ainsi que la façon d'interpréter les résultats.

Syntaxe et commandes pour obtenir l'état des processus

Vous pouvez obtenir le statut des processus dans Linux avec la syntaxe de base de la commande ps :

ps [process name]

La commande ps accepte également d'autres options :

aux : Cette option affiche une liste complète de tous les processus en cours d'exécution sur le système. Elle fournit des informations telles que les identifiants de processus (PID), les identifiants de processus parent (PPID), l'utilisation de CPU et de la mémoire, ainsi que l'état des processus. Le résultat de la commande ps aux est bien plus lisible et contient davantage d'informations utiles que la commande ps de base.

ef : Cette option affiche une liste complète des processus avec des détails supplémentaires, notamment la hiérarchie des processus sous forme d'arborescence.

l: Cette option affiche un format de liste étendu, avec des informations plus détaillées sur les processus.

Comprendre la sortie

Lorsque vous exécutez la commande ps avec les options souhaitées, elle génère une sortie représentant les processus en cours d'exécution sur votre système. Cette sortie est organisée en colonnes qui affichent différents attributs des processus : l'identifiant de processus (PID), l'identifiant de processus parent (PPID), l'utilisation de CPU et de la mémoire, l'état du processus, le type de terminal et le nom de la commande.

Voici ce que représente chacune de ces colonnes :

PID : Cette colonne affiche l'identifiant unique du processus.

TTY : Cette colonne indique le type de terminal auquel l'utilisateur est connecté.

TIME : Cette colonne indique la quantité de CPU consommée par ce processus, exprimée en minutes et en secondes.

CMD : Cette colonne indique le nom de la commande qui a démarré ce processus.

L'analyse des informations fournies par la commande ps vous permet de mieux comprendre le comportement de votre machine Linux.

Techniques avancées de gestion des processus avec la commande ps

Voici quelques fonctionnalités avancées de la commande ps et comment les utiliser efficacement :

1. Tri des processus

La commande ps aux permet de trier le résultat final selon différentes colonnes. Par exemple, vous pouvez trier les processus par identifiant de processus ou par utilisation de CPU pour les afficher dans l'ordre souhaité.

Voici un exemple de tri des processus par identifiant de processus avec ps aux :

ps aux –-sort pid

La commande head permet de n'afficher que les cinq premières lignes du résultat.

ps aux trier par pid

2. Visualisation de l'arborescence des processus

Pour voir clairement la relation parent-enfant entre les processus, utilisez la commande ps avec l'option forest.

ps -aux --forest

relation parent-enfant des processus Linux

Pour afficher les relations entre processus sous forme d'arborescence, vous pouvez aussi utiliser la commande pstree. Cette commande génère une sortie plus lisible et illustre parfaitement la hiérarchie entre les processus. Tapez la commande suivante :

pstree [pid or username]

En passant un PID à cette commande, vous indiquez au système de considérer ce processus comme la racine de l'arborescence.

3. Filtrage des processus

Supposons que vous souhaitiez travailler avec un groupe de processus précis, par exemple lister tous les processus d'un utilisateur donné. Le filtrage des processus selon un critère se fait avec la commande ps. Dans cet exemple, nous avons filtré les processus par nom d'utilisateur.

ps -u [username]

filtrage des processus Linux avec la commande ps

La commande ps aux grep permet de filtrer les processus selon n'importe quel motif ou mot-clé que vous lui fournissez. Voici un exemple :

exemple de la commande ps aux grep

Cette commande liste d'abord tous les processus, puis transmet la sortie à grep pour filtrer cette longue liste selon l'ID de processus. Dans l'image ci-dessus, vous pouvez voir tous les processus dont les informations contiennent le nombre 15.

Pour en savoir plus sur la commande ps et ses possibilités, consultez sa page de manuel. La commande suivante l'affiche :

man ps

Gérer la priorité des tâches sous Linux

Pour bien comprendre comment fonctionne la gestion des processus sous Linux, il faut aussi aborder la priorité des processus et comment la modifier. Imaginez une situation où vous exécutez plusieurs processus et que le CPU est surchargé. Pour gérer vos ressources efficacement dans ce cas, vous devez ajuster la priorité des tâches en cours. Chaque processus sous Linux possède une valeur de priorité, qui aide le noyau à ordonnancer les tâches. Cette valeur va de -20 à 19 : 19 correspond à la priorité la plus basse et -20 à la plus haute. Le processus ayant la priorité la plus élevée reçoit davantage de temps CPU que les autres. Ces valeurs de priorité sont souvent appelées valeurs « nice » : une valeur nice plus basse signifie une priorité plus haute.

Utilisez les commandes nice et renice pour allouer les ressources système avec précision.

Mais avant de modifier la priorité des processus, voyons d'abord le premier cas d'usage de la commande ps.

  • Afficher la priorité actuelle de tous les processus avec la commande ps :

Cette commande liste tous les processus avec leur PID, le nom de la commande et la priorité actuelle (valeur nice) :

 

ps -eo pid,cmd,nice

Obtenir la priorité de tous les processus avec la commande ps

  • Démarrer un processus avec une priorité élevée par défaut via la commande nice :

Vous pouvez démarrer un processus avec la priorité de votre choix grâce à cette commande :

nice -n [priority] [command]

Remplacez [priority] par la valeur négative correspondant au niveau de priorité souhaité, et [command] par la commande à exécuter.

Exemple :

démarrage d'un processus avec une priorité élevée par défaut

  • Modifier la priorité d'une commande déjà en cours d'exécution :
renice -n [priority] -p [PID]

Remplacez l'identifiant du processus que vous souhaitez manipuler par [PID].

Si vous cherchez une machine Linux puissante pour effectuer toutes sortes de tâches, un Linux VPS est la solution qu'il vous faut. Cloudzy propose différents plans Linux VPS avec la distribution de votre choix préinstallée. Grâce à des avantages comme le support 24/7, une politique de remboursement sous 30 jours et une garantie de disponibilité à 99,95 %, Cloudzy maintient ses tarifs accessibles. Nos offres Linux VPS démarrent à seulement 4,95 $/mois.

Hébergement Linux VPS

Obtenez un Linux VPS économique ou premium pour héberger votre site web ou votre bureau à distance, au meilleur prix du marché. VPS fonctionne sur Linux KVM pour une meilleure efficacité, sur du matériel performant avec stockage NVMe SSD pour des vitesses accrues.

Lire la suite

Conclusion

En résumé, maîtriser la gestion des processus et le contrôle du système est indispensable pour les administrateurs système, les passionnés de Linux qui souhaitent approfondir leurs connaissances, et les utilisateurs Linux au quotidien. Comprendre les capacités et les fonctionnalités de la commande ps facilite grandement l'apprentissage de la gestion des processus. C'est pourquoi cet article a présenté les principaux cas d'usage de la commande ps, tout en offrant aux lecteurs une introduction aux processus Linux.

Questions fréquemment posées

Qu'est-ce que la commande ps aux sous Linux ?

La commande ps aux est couramment utilisée sous Linux pour obtenir des informations sur les processus en cours d'exécution. Elle fournit une liste complète des processus dans un format lisible, incluant leurs identifiants (PIDs), l'utilisation du CPU et de la mémoire, les états d'exécution, ainsi que d'autres informations essentielles.

Quels sont les deux types de processus sous Linux ?

Les processus de premier plan et les processus d'arrière-plan. Les processus de premier plan occupent le terminal pendant leur exécution et bloquent toute autre opération. Les processus d'arrière-plan s'exécutent en tâche de fond et ne monopolisent pas le terminal.

Comment afficher la liste des processus en cours sur mon système Linux ?

Vous pouvez obtenir la liste des processus en cours sur votre système Linux à l'aide de commandes comme ps, top ou htop. Par exemple, la commande ps aux sous Linux fournit des informations détaillées sur tous les processus actifs.

Partager

À lire sur le blog

Continuez la lecture.

Image de couverture des meilleures applications auto-hébergées compatibles avec Cosmos Cloud, avec des panneaux d'applications autour d'un tableau de bord Cosmos.
Serveurs et OS

Les meilleures applications auto-hébergées compatibles avec Cosmos Cloud : fichiers, médias, mots de passe, automatisation et plus encore !

Maybe vous avez installé Cosmos Cloud et cherchez maintenant des applications qui s'y intègrent bien, ou peut-être que vous n'avez pas encore adopté Cosmos et que vous voulez juste voir si ça correspond à votre flux de trava

Nick ArgentNick Argent 16 min de lecture
Illustration de couverture pour Portainer vs Cosmos Cloud pour la gestion d'applications Docker, avec un schéma de configuration hybride et des blocs ops/accès en néon.
Serveurs et OS

Portainer vs Cosmos Cloud : quelle solution pour gérer vos applications Docker ?

Si vous connaissez déjà Docker et cherchez simplement la meilleure façon de gérer une pile applicative en croissance, voici la réponse directe à la question Portainer vs Cosmos Cloud. Portainer est le choix le plus solide pour une gest

Nick ArgentNick Argent 14 min de lecture
Illustration principale pour Cosmos Cloud vs CasaOS vs Umbrel, montrant trois approches auto-hébergées au sein d'un réseau cloud abstrait.
Serveurs et OS

Cosmos Cloud vs CasaOS vs Umbrel : quelle plateforme auto-hébergée correspond à votre configuration ?

En bref : CasaOS reste le point de départ le plus accessible, Umbrel offre l'expérience la plus soignée et la mieux organisée, et Cosmos Cloud devient le meilleur choix dès que vous souhaitez un contrôle plus fin sur les dom

Nick ArgentNick Argent 11 min de lecture

Prêt à déployer ? À partir de 2,48 $/mois.

Cloud indépendant, depuis 2008. AMD EPYC, NVMe, 40 Gbps. Remboursement sous 14 jours.