50% de réduction tous les plans, durée limitée. À partir de $2.48/mo
il reste 10 minutes
Serveurs et système d'exploitation

Maîtriser la gestion des processus – Commande Linux ps aux

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

Avez-vous au moins cinq autres onglets ouverts sur votre navigateur, essayant de trouver la réponse à un problème Linux que vous avez rencontré ?
Ce comportement n’est pas spécifique à vous ni aux humains en général. Les machines sont également multitâches. Et tout comme vous, Linux est également multitâche et plusieurs processus se déroulent en même temps. Que vous soyez un développeur utilisant Linux de manière professionnelle ou un utilisateur normal travaillant avec Linux pour vos activités quotidiennes, vous devriez être capable de comprendre ces processus parallèles pour garder un contrôle total sur votre système. La gestion des processus et le contrôle du système sont des aspects essentiels de l'exécution d'un système Linux.

Pour gérer efficacement les processus exécutés sur le système, voir ce qui se passe en temps réel, avoir une idée générale de tous les processus en arrière-plan et contrôler les ressources du système, vous avez besoin de connaissances techniques en gestion des processus. La commande ps aux est une commande puissante qui joue un rôle essentiel dans la gestion des processus et le contrôle du système. Dans cet article, nous en apprendrons plus sur la commande ps aux et ses cas d'utilisation. Nous aborderons également les principes fondamentaux du fonctionnement des processus Linux.

Comprendre la gestion des processus sous Linux

Lorsque nous travaillons avec Linux, la plupart de nos interactions avec le système se font sous forme de commandes. Sous Linux, un processus est l'exécution d'une commande. La gestion des processus Linux implique la manipulation des processus démarrés par une commande. Vous pouvez terminer un processus, démarrer un processus ou reprendre les processus terminés. Vous pouvez également manipuler les commandes en cours.

Il existe deux types de processus Linux :

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

Processus de premier plan Linux

Un processus de premier plan est un processus en cours d’exécution active qui nécessite généralement une interaction constante et en temps réel avec l’utilisateur. Lorsqu'un processus de premier plan est en action, l'exécution des autres processus est suspendue. Vous ne pouvez donc exécuter aucune autre commande. Un processus de premier plan reçoit les entrées du clavier en tant qu'entrée standard ou stdin. Afin d'éviter toute confusion supplémentaire, stdin et stdout sont des flux de données Linux avec stderr. Il s’agit essentiellement de la manière dont l’utilisateur interagit avec le processus et fournit des données. Il existe une sortie standard ou sortie standard produite par le processus en fonction de sa fonctionnalité et de l'entrée. Les processus de premier plan sont le mode d'exécution par défaut sous Linux.

Processus d'arrière-plan Linux

Les processus d’arrière-plan sont exactement le contraire des processus de premier plan car ils ne nécessitent pas d’interaction de l’utilisateur et n’occupent pas exclusivement tout l’espace du terminal, permettant ainsi l’exécution d’autres processus. Le type d’entrée et de sortie des processus en arrière-plan est également différent. Ils ne prennent généralement pas de standard. Cependant, les résultats du processus peuvent être affichés sur la sortie standard. L'affichage de la sortie des processus en arrière-plan s'effectue en même temps que la sortie des autres processus de premier plan. Ainsi, vous pouvez voir la progression ou les résultats du processus en arrière-plan sans interrompre d'autres actions importantes.

Étant donné que l'exécution d'un large éventail de tâches sous Linux dépend de la ligne de commande, les processus de premier plan peuvent être gênants, tandis que l'exécution de processus en arrière-plan libère votre terminal de travailler sur d'autres tâches. Ainsi, placer une tâche de premier plan en arrière-plan est une chose raisonnable à faire ici. Pour envoyer un processus en arrière-plan vous devez d'abord empêcher son exécution au premier plan. Cela se fait simplement en appuyant sur CTRL+Z. Ensuite, en tapant la commande bg, le processus terminé sera réexécuté en arrière-plan. La commande fg inversera le processus et le mettra au premier plan.

Statut du processus ; Syntaxe, commandes et interprétation de la sortie

Une gestion efficace des processus sous Linux nécessite de comprendre l'état des processus qui peuvent être surveillés par la commande ps aux. Mais avant d’approfondir la commande ps aux, découvrons les différents états de processus. Bien qu’il existe plusieurs types de processus et statuts de processus, voici un tableau des plus courants :

Statut du processus description
Courir(R) Le processus est actuellement en cours d’exécution et utilise des ressources CPU.
Dormir Interruptible (S) Le processus attend qu’une entrée ou un événement spécifique recommence à s’exécuter. Il n’utilise actuellement pas les ressources du processeur. Lorsque des ressources sont disponibles ou des signaux sont donnés, le processus recommence.
Sans interruption (D) Tout comme un processus en veille interrompue, un processus en veille ininterrompue n’utilise pas les ressources du processeur. La seule différence est qu’il ne réagit pas aux signaux, il ne reprend vie que lorsque les ressources sont disponibles.
Arrêté(T) Une entrée utilisateur ou un événement spécifique a interrompu le processus. Un processus à l’état arrêté n’utilise aucune ressource CPU.
Mort(X) Le processus a été terminé et n'existe plus.

Une bonne compréhension de ces statuts de processus est un aspect crucial pour gérer et dépanner efficacement les systèmes Linux. Voyons maintenant la syntaxe et les commandes permettant d'obtenir l'état du processus sous Linux, ainsi que la manière d'interpréter le résultat.

Syntaxe et commandes pour obtenir l'état du processus

Vous pouvez obtenir l'état du processus sous Linux avec la syntaxe de base de la commande ps :

ps [process name]

Il existe également d'autres options utilisées avec la commande ps :

aux: Cette option affiche une liste complète de tous les processus en cours d'exécution sur le système. Il fournit des informations telles que les ID de processus (PID), les ID de processus parent (PPID), l'utilisation du processeur et de la mémoire et l'état des processus. La sortie fournie par la commande ps aux est beaucoup plus soignée, plus lisible et contient beaucoup plus d'informations utiles que la commande ps de base.

ef : Cette option affiche une liste au format complet des processus avec des détails supplémentaires, y compris la hiérarchie des processus sous forme d'arborescence.

l: Cette option fournit un format de liste longue, présentant 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 qui représente les processus actuellement en cours d'exécution sur votre système. La sortie se compose de colonnes qui affichent différents attributs de processus, notamment l'ID de processus (PID), l'ID de processus parent (PPID), l'utilisation du processeur, l'utilisation de la mémoire, l'état du processus, le type de terminal et le nom de la commande.

Voici une explication de la signification de chacune de ces colonnes :

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

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

TEMPS: Cette colonne est un indicateur de la quantité de CPU utilisée par ce processus en minutes et secondes.

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

L'analyse des informations fournies par la commande ps vous donne un aperçu plus approfondi du comportement de votre machine Linux.

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

Explorons certaines des fonctionnalités avancées de la commande ps et comment elles peuvent être utilisées efficacement :

1. Tri des processus

La commande ps aux peut être utilisée pour trier la sortie finale en fonction de différentes colonnes. Par exemple, vous pouvez trier les processus par ID de processus ou par utilisation du processeur pour les afficher dans l'ordre souhaité.

Voici un exemple de processus de tri en fonction de l'ID de processus à l'aide de ps aux :

ps aux –-sort pid

La commande head est utilisée pour obtenir uniquement les cinq premières lignes de la sortie.

ps aux trier pid

2. Visualisation de l'arborescence des processus

Si vous souhaitez voir clairement la relation parent-enfant des processus, vous pouvez utiliser la commande ps avec l'option forest.

ps -aux --forest

relation parent-enfant des processus Linux

Pour voir la relation entre les processus dans un modèle arborescent, vous pouvez également utiliser la commande pstree. Cette commande créera une sortie plus compréhensible et illustrera parfaitement la hiérarchie entre les processus. Pour utiliser cette commande, tapez la commande suivante :

pstree [pid or username]

En donnant un PID à cette commande, vous indiquez à la commande de considérer ce processus comme la racine de l'arborescence.

3. Processus de filtrage

Imaginez que vous souhaitiez travailler avec un groupe spécifique de processus ; par exemple, vous souhaitez lister tous les processus d'un des utilisateurs. Les processus de filtrage basés sur une caractéristique peuvent être effectués à l'aide de la commande ps. Dans cet exemple, nous avons filtré les processus en fonction du nom d'utilisateur.

ps -u [username]

filtrer les processus Linux à l'aide de la commande ps

Et la commande ps aux grep peut filtrer les processus en fonction de n'importe quel modèle ou mot-clé que vous fournissez à la commande. Jetez un œil au code ci-dessous à titre d’exemple :

exemple de commande ps aux grep

Cette commande répertorie d'abord tous les processus et transmet la sortie à la commande grep pour filtrer cette longue liste en fonction de l'ID du processus. Dans l'image ci-dessus, vous pouvez voir une liste de tous les processus qui ont le numéro 15 dans leurs informations.

Pour plus d'informations sur la commande ps et ses capacités, vous pouvez lire la page de manuel de cette commande. Le code ci-dessous affichera la page de manuel pour vous :

man ps

Gestion de la priorité des tâches sous Linux

Afin de mieux expliquer comment fonctionne réellement la gestion des processus sous Linux, nous devons également aborder la priorité des processus et comment la modifier. Imaginez une situation dans laquelle vous exécutez plusieurs processus et où le processeur est surchargé de tâches. Si vous souhaitez gérer vos ressources pour qu'elles fonctionnent correctement dans cette situation, vous devez modifier la priorité des tâches en cours d'exécution. Chaque processus sous Linux a une valeur de priorité. Cette valeur aide le noyau à prioriser les tâches. Le numéro de priorité varie de -20 à 19, 19 étant la tâche la moins importante et -20 la plus urgente. Le processus ayant la priorité la plus élevée reçoit plus de temps CPU par rapport aux autres processus. Les valeurs de priorité sont souvent appelées valeurs « intéressantes », les valeurs inférieures indiquant une priorité plus élevée.

Vous pouvez utiliser les commandes nice et renice pour allouer efficacement les ressources système.

Mais avant de changer la priorité des processus, explorons le premier cas d’utilisation de la commande ps.

  • Affichage de la priorité actuelle de tous les processus à l'aide de la commande ps :

Cette commande répertorie tous les processus avec leurs ID de processus (PID), les noms de commandes et la priorité actuelle (valeur intéressante) :

 

ps -eo pid,cmd,nice

Obtenir la priorité de tous les processus à l'aide de la commande ps

  • Démarrage d'un processus avec une priorité élevée par défaut à l'aide de la commande nice :

Vous pouvez démarrer un processus avec votre priorité préférée à l'aide de cette commande :

nice -n [priority] [command]

Remplacez [priority] par la valeur négative souhaitée représentant le niveau de priorité et [command] par la commande que vous souhaitez exécuter.

Voici un exemple :

démarrer un processus avec une priorité élevée par défaut

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

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

Si vous souhaitez disposer d'une machine Linux puissante sur laquelle effectuer toutes sortes de tâches, un Serveur virtuel Linux est la meilleure solution pour vous. Cloudzy propose divers plans Linux VPS avec votre distribution préférée préinstallée. Avec de nombreuses caractéristiques avantageuses comme une assistance 24h/24 et 7j/7, une politique de remboursement de 30 jours et une garantie de disponibilité de 99,95 %, Cloudzy a réussi à maintenir des prix bas. Nos prix pour Linux VPS commencent à seulement 4,95 $/mois.

Hébergement VPS Linux

Procurez-vous un VPS Linux économique ou premium pour héberger votre site Web ou votre bureau à distance, au prix le moins cher du marché. VPS fonctionnant sur Linux KVM pour une efficacité accrue et fonctionnant sur un matériel puissant avec un stockage SSD NVMe pour une vitesse accrue.

En savoir plus

Conclusion

En conclusion, 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 désireux d’en savoir plus et les utilisateurs réguliers de Linux. Connaître les capacités et les fonctionnalités de la commande ps peut vous faciliter la tâche dans la gestion du processus d'apprentissage. C'est pourquoi cet article traite des cas d'utilisation importants de la commande ps et fournit aux lecteurs une introduction aux processus Linux.

FAQ

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

La commande ps aux Linux est une commande couramment utilisée sous Linux pour obtenir des informations sur les processus en cours d'exécution. Il peut fournir une liste complète de processus dans un format convivial, y compris leurs ID de processus (PID), l'utilisation du processeur et de la mémoire, les états d'exécution et d'autres détails essentiels.

Quels sont les deux types de processus sous Linux ?

Processus de premier plan et processus d’arrière-plan. Les processus de premier plan occupent le terminal lors de leur exécution et ne permettent pas d'autres exécutions. Les processus en arrière-plan s'exécutent en arrière-plan et n'occupent pas tout le terminal.

Comment puis-je afficher la liste des processus exécutés sur mon système Linux ?

La liste des processus exécutés sur votre système Linux peut être obtenue à l'aide de commandes telles que ps, top ou htop pour l'afficher. Par exemple, la commande Linux ps aux fournit des informations détaillées sur tous les processus en cours d'exécution.

Partager

Plus du blog

Continuez à lire.

Meilleures applications auto-hébergées que vous pouvez exécuter avec Cosmos Cloud Image de couverture avec des panneaux d'applications autour d'un tableau de bord Cosmos.
Serveurs et système d'exploitation

Meilleures applications auto-hébergées que vous pouvez exécuter avec Cosmos Cloud : fichiers, médias, mots de passe, automatisation et plus encore !

Peut-être avez-vous configuré Cosmos Cloud et souhaitez-vous maintenant voir quelles applications correspondent bien à celui-ci, ou peut-être n'avez-vous même pas encore choisi Cosmos et souhaitez-vous simplement voir dans quelle mesure il s'adapte à votre travail.

Nick SilverNick Silver 16 minutes de lecture
Couverture Portainer vs Cosmos Cloud pour la gestion des applications Docker avec diagramme de configuration hybride et opérations néon vs blocs d'accès.
Serveurs et système d'exploitation

Portainer vs Cosmos Cloud : la meilleure solution pour la gestion des applications Docker

Si vous connaissez déjà Docker et souhaitez simplement exécuter une pile d'applications plus propre et croissante, voici la réponse courte à Portainer vs Cosmos Cloud. Portainer est le meilleur choix pour la direction

Nick SilverNick Silver 14 minutes de lecture
Graphique de fonctionnalité Cosmos Cloud vs CasaOS vs Umbrel montrant trois chemins auto-hébergés dans un monde de réseau cloud abstrait.
Serveurs et système d'exploitation

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

La réponse courte est que CasaOS est toujours le point de départ le plus simple, Umbrel a la sensation la plus propre et Cosmos Cloud a plus de sens une fois que vous souhaitez un contrôle plus strict sur doma.

Nick SilverNick Silver 11 minutes 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.