Android

Commande ps sous linux (liste des processus)

Ligne de commandes Linux - partie 3 - Gestion de processus

Ligne de commandes Linux - partie 3 - Gestion de processus

Table des matières:

Anonim

Sous Linux, une instance en cours d'exécution d'un programme est appelée processus. Parfois, lorsque vous travaillez sur une machine Linux, vous devrez peut-être savoir quels processus sont en cours d'exécution.

Il existe un certain nombre de commandes que vous pouvez utiliser pour trouver des informations sur les processus en cours d'exécution, avec ps , pstree et top étant les plus couramment utilisés.

Cet article explique comment utiliser la commande ps pour répertorier les processus en cours d'exécution et afficher des informations sur ces processus.

Comment utiliser la commande ps

La syntaxe générale de la commande ps est la suivante:

ps

Pour des raisons d'historique et de compatibilité, la commande ps accepte plusieurs types d'options différents:

  • Options de style UNIX, précédées d'un seul tiret.Options de style BSD, utilisées sans options longues dash.GNU, précédées de deux tirets.

Différents types d'options peuvent être mélangés, mais dans certains cas particuliers, des conflits peuvent apparaître, il est donc préférable de s'en tenir à un type d'option.

Les options BSD et UNIX peuvent être regroupées.

Dans sa forme la plus simple, lorsqu'il est utilisé sans aucune option, ps affichera quatre colonnes d'informations pour au moins deux processus exécutés dans le shell actuel, le shell lui-même et les processus qui s'exécutent dans le shell lorsque la commande a été invoquée.

ps

La sortie comprend des informations sur le shell ( bash ) et le processus s'exécutant dans ce shell ( ps , la commande que vous avez tapée):

PID TTY TIME CMD 1809 pts/0 00:00:00 bash 2043 pts/0 00:00:00 ps

Les quatre colonnes sont étiquetées PID , TTY , TIME et CMD .

  • PID - L'ID du processus. Habituellement, lors de l'exécution de la commande ps , les informations les plus importantes que l'utilisateur recherche sont le PID du processus. Connaître le PID vous permet de tuer un processus défectueux. TTY - Le nom du terminal de contrôle pour le processus. TIME - Temps CPU cumulé du processus, affiché en minutes et secondes. CMD - Le nom de la commande qui a été utilisée pour démarrer le processus.

La sortie ci-dessus n'est pas très utile car elle ne contient pas beaucoup d'informations. La véritable puissance de la commande ps vient lorsqu'elle est lancée avec des options supplémentaires.

La commande ps accepte un grand nombre d'options qui peuvent être utilisées pour afficher un groupe spécifique de processus et différentes informations sur le processus, mais seule une poignée est nécessaire pour une utilisation quotidienne.

ps est le plus souvent utilisé avec la combinaison d'options suivante:

Formulaire BSD:

ps aux

  • L'option a indique à ps d'afficher les processus de tous les utilisateurs. Seuls les processus qui ne sont pas associés à un terminal et les processus des chefs de groupe ne sont pas affichés. u représente un format orienté utilisateur qui fournit des informations détaillées sur les processus x option x demande à ps de lister les processus sans terminal de contrôle. Il s'agit principalement de processus démarrés au démarrage et exécutés en arrière-plan.

La commande affiche des informations dans onze colonnes intitulées USER , PID , %CPU , %MEM , VSZ , RSS , STAT , START , TTY , TIME et CMD .

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.8 77616 8604 ? Ss 19:47 0:01 /sbin/init root 2 0.0 0.0 0 0 ? S 19:47 0:00…

Nous avons déjà expliqué PID étiquettes PID , TTY , TIME et CMD . Voici une explication d'autres étiquettes:

  • USER - L'utilisateur qui exécute le processus. %CPU - Utilisation du processeur du processus. %MEM - Pourcentage de la taille définie résidente du processus dans la mémoire physique de la machine. VSZ - Taille de la mémoire virtuelle du processus en Kio. RSS - La taille de la mémoire physique utilisée par le processus. STAT - Le code d'état du processus, tel que Z (zombie), S (sommeil) et R (en cours d'exécution). START - Heure à laquelle la commande a démarré.

L'option f indique à ps d'afficher une arborescence des processus parent à enfant:

ps auxf

La commande ps vous permet également de trier la sortie. Par exemple, pour trier la sortie en fonction de l'utilisation de la mémoire, vous utiliseriez:

ps aux --sort=-%mem

Formulaire UNIX:

ps -ef

  • L'option -e demande à ps d'afficher tous les processus. -f représente la liste complète, qui fournit des informations détaillées sur les processus.

La commande affiche des informations dans huit colonnes intitulées UID , PID , PPID , C , STIME , TIME et CMD .

UID PID PPID C STIME TTY TIME CMD root 1 0 0 19:47 ? 00:00:01 /sbin/init root 2 0 0 19:47 ? 00:00:00…

Les étiquettes qui ne sont pas déjà expliquées ont la signification suivante:

  • UID - Identique à USER , l'utilisateur qui exécute le processus. PPID - L'ID du processus parent. C - Identique à %CPU , l'utilisation du processeur du processus. STIME - Identique à START , l'heure à laquelle la commande a démarré.

Pour afficher uniquement les processus s'exécutant en tant qu'utilisateur spécifique, tapez la commande suivante, où linuxize est le nom de l'utilisateur:

ps -f -U linuxize -u linuxize

Format défini par l'utilisateur

L'option o vous permet de spécifier les colonnes à afficher lors de l'exécution de la commande ps .

Par exemple, pour imprimer uniquement des informations sur le PID et la COMMAND , vous devez exécuter l'une des commandes suivantes:

ps -efo pid, comm

ps auxo pid, comm

Utilisation de ps avec d'autres commandes

ps peut être utilisé en combinaison avec d'autres commandes via la tuyauterie.

ps -ef | less

La sortie de la commande ps peut être filtrée avec grep . Par exemple, pour afficher uniquement le processus appartenant à l'utilisateur root, vous devez exécuter:

ps -ef | grep root

Conclusion

La commande ps est l'une des commandes les plus couramment utilisées lors du dépannage de problèmes sur les systèmes Linux. Il possède de nombreuses options, mais généralement, la plupart des utilisateurs utilisent ps aux ou ps -ef pour collecter des informations sur les processus en cours d'exécution.

Pour plus d'informations sur ps , tapez man ps dans votre terminal.

terminal ps