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.

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

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]

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 :

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

- 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 :

- 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.
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 plusConclusion
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.