Comment utiliser la commande ps dans le guide des débutants Linux

Comment utiliser la commande ps dans le guide des débutants Linux

Le ps La commande est un utilitaire de ligne de commande par défaut qui peut nous donner un aperçu des processus qui s'exécutent actuellement sur un système Linux. Il peut nous donner beaucoup d'informations utiles sur ces processus, y compris leur PID (ID de processus), Tty, l'utilisateur exécutant une commande ou une application, et plus.

Bien que cela semble assez simple, ne vous y trompez pas, le ps La commande peut devenir assez compliquée. Il accepte beaucoup d'options différentes et peut être utile dans un nombre incroyable de situations, même dans le cadre d'un script bash.

Dans ce tutoriel, nous vous présenterons le ps commander, et passez en revue toutes ses options les plus utiles, y compris de nombreux exemples. À la fin de la lecture de ce guide, vous serez armé de toutes les informations dont vous avez besoin pour tirer le meilleur parti de cet outil de ligne de commande utile.

Dans ce tutoriel, vous apprendrez:

  • Comment énumérer tous les processus exécutés sur un système
  • Comment utiliser ps Commande à travers des exemples
Utilisation de la commande ps pour identifier les processus en cours d'exécution sur un système Linux Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Toute distribution Linux
Logiciel ps
Autre Accès privilégié à votre système Linux en tant que racine ou via le Sudo commande.
Conventions # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Comment énumérer tous les processus exécutés sur un système



Le ps La commande peut être un peu déroutante pour les débutants car elle accepte les options dans quelques syntaxes différentes. C'est une commande très ancienne qui a trouvé son chemin sur tous les (ou presque tous les) systèmes UNIX, BSD et Linux depuis le début des années 70. En tant que tel, l'itération actuelle a été adaptée pour accepter les syntaxes d'UNIX (options précédées d'un tableau de bord), BSD (options sans tableau de bord) et GNU (options précédées de deux tirets).

Il est plus facile de se renseigner sur le ps Commande à travers des exemples. Pour commencer, utilisez certaines des commandes suivantes sur votre propre système, et vous l'avez finalement maîtrisé.

La commande suivante affichera tous les processus en cours d'exécution sur le système et est probablement le plus utilisé ps commande en général. S'il n'y a qu'une seule chose dont vous vous souvenez après avoir lu ce tutoriel, ce devrait être cette commande.

$ ps aux 

Notez que cela utilise la syntaxe BSD (pas de tirets). L'utilisation des mêmes options dans une syntaxe différente peut produire un résultat différent, donc oui, la syntaxe est importante. Voici ce que font ces options:

  • un - Afficher les processus de tous les utilisateurs.
  • u - Afficher le format orienté utilisateur (affiche des informations supplémentaires sur les processus en cours d'exécution).
  • X - Liste des processus qui n'appartiennent à aucun tty.

Cela produira probablement beaucoup de production dans votre terminal. Même sur des systèmes fraîchement installés, il y a généralement pas mal de processus en arrière-plan, et ps identifiera chacun. Essayez de tuer la commande pour moins ou plus Pour rendre la sortie plus gérable.

$ ps Aux | moins 
Sortie de la commande PS AUX

Comme vous pouvez le voir, il y a pas mal de colonnes dans notre sortie, et certaines d'entre elles peuvent être cryptiques pour les débutants. Passons en revue ce que chacun signifie:



  • UTILISATEUR - L'utilisateur dont le processus fonctionne sous.
  • Piquer - L'ID de processus (chaque processus se voit attribuer un nombre en tant qu'ID).
  • %CPU - Combien de processeur le procédé le processus utilise.
  • % Mem - Combien de RAM pourcentage le processus utilise.
  • Vsz - Taille de mémoire virtuelle du processus.
  • RSS - La taille de la mémoire physique que le processus utilise.
  • Tty - À quel tty (écran terminal) le processus est lié, ou ? pour personne.
  • Stat - Le code d'état du processus; il y en a beaucoup mais certains sont courants S (dormir) et R (en cours d'exécution).
  • COMMENCER - Le moment où le processus a commencé.
  • TEMPS - Le temps de processeur accumulé que le processus a utilisé.
  • COMMANDE - La commande complète qui a été utilisée pour engendrer le processus en cours d'exécution.

Comment utiliser la commande PS à travers des exemples

Maintenant que vous avez vos repères avec le ps Commande, passons en revue d'autres exemples utiles et courants.

La syntaxe UNIX suivante est souvent utilisée à la place de la syntaxe BSD que nous avons montrée ci-dessus. C'est plus concis, ce qui facilite la voir des choses en un coup d'œil, mais pas aussi détaillées que PS AUX.

$ ps -ef 
  • -e - Afficher les processus en cours d'exécution de tous les utilisateurs.
  • -F - Afficher la liste du format complet (affiche des informations supplémentaires sur les processus en cours d'exécution).
Sortie de la commande ps -ef

Nos colonnes ont un peu changé, mais elles signifient surtout la même chose qu'avec la syntaxe BSD. Voici un aperçu rapide des nouveaux:

  • Uid - ID utilisateur, identique à UTILISATEUR dans la syntaxe BSD.
  • PPID - L'identification du processus du processus parent.
  • C - Utilisation du processeur, comme %CPU dans la syntaxe BSD.
  • Stime - Heure de début, identique à COMMENCER dans la syntaxe BSD.

Si vous n'avez pas besoin d'informations aussi détaillées, utilisez simplement le -e option. Le hache Les options accompliront la même chose.

$ ps -e pid tty time cmd 1 ? 00:00:02 Systemd 2 ? 00:00:00 KTHREADD 3 ? 00:00:00 rcu_gp… $ ps ax pid tty stat time commande 1 ? SS 0:02 / SBIN / Init Splash 2 ? S 0:00 [kthreadd] 3 ? je< 0:00 [rcu_gp] 


L'une des meilleures caractéristiques de ps est-ce que vous pouvez trier par n'importe quelle colonne que vous souhaitez. Par exemple, pour trier les processus par la quantité de mémoire qu'ils utilisent:

$ ps Aux --Sort = -% mem | moins 
Tri de la sortie PS par utilisation de la mémoire

Ou trier par utilisation du processeur:

$ ps Aux --Sort = -% CPU | moins 

Si vous cherchez un processus spécifique, il est préférable de tuer Grep. Ceci est particulièrement utile si vous devez déterminer rapidement si un processus est en cours d'exécution ou non, ou si vous avez besoin de l'ID de processus.

$ ps Aux | grep apache2 

Le o Option en BSD et -o dans Unix nous permet de spécifier quelles colonnes que nous voulons voir. Cela fait le ps sortie très personnalisable, répertoriant uniquement les informations que nous trouvons pertinentes. Tout ce que vous avez à faire est de répertorier chaque colonne que vous souhaitez, séparée avec des virgules.

$ ps axo pid,% CPU,% mem, commande | moins 


Isoler les colonnes dans la syntaxe BSD

Voici un autre exemple, mais en utilisant la syntaxe UNIX et aussi le tri de la sortie par utilisation du processeur.

$ ps -eo pid, ppid, c --sort = -c | moins 
Isoler les colonnes et les résultats de tri par utilisation du processeur dans la syntaxe UNIX

Réflexions de clôture

Dans ce guide, nous avons vu comment utiliser le ps Commande sur Linux pour répertorier les processus en cours d'exécution sur le système. Nous avons également appris différents exemples de ligne de commande qui nous permettent d'isoler les informations dont nous avons besoin.

Le point à retenir le plus important de ce guide est le PS AUX commande. Avec cette commande, vous pouvez toujours voir chaque processus s'exécuter sur votre système et identifier toutes les informations pertinentes. Secouer grep rend la commande encore plus puissante. Pour plus de contrôle granulaire, vous pouvez toujours consulter notre guide ou la page manuelle PS.

Tutoriels Linux connexes:

  • Comment propager un signal aux processus d'enfants à partir d'un bash…
  • Choses à installer sur Ubuntu 20.04
  • Variables de bash spéciaux avec des exemples
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Commandes Linux: les 20 meilleures commandes les plus importantes que vous devez…
  • Commandes Linux de base
  • Masterring Bash Script Loops
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Gestion de scripts et de processus de bash multithread au…
  • Gestion des processus de fond de bash