GNU/Linux >> Tutoriels Linux >  >> Linux

15 Commande Linux ps avec exemples

Le ps est une commande intégrée utilisée dans les systèmes d'exploitation Unix/Linux pour répertorier les processus en cours d'exécution. Il affiche un instantané statique avec des informations sur les processus tandis que top, htop et les vues montrent des mises à jour répétitives.

La commande Ps est livrée avec de nombreuses options pour manipuler les sorties. Il extrait toutes les informations des processus du système de fichiers virtuel /proc.

Ce tutoriel se concentrera sur l'explication de la façon d'utiliser la commande ps avec quelques exemples pratiques

La syntaxe de la commande ps

La syntaxe de base pour l'utilisation de la commande ps est la suivante :

$ ps [options]

Les 'options' de la commande ps peuvent être :

  • Options UNIX - précédées d'un tiret
  • Options BSD - doivent être utilisées sans tiret
  • Options longues GNU - précédées de deux tirets

Il s'agit d'une utilisation très basique de la commande ps. Tapez simplement "ps" sur votre console pour voir le résultat :

$ ps

Par défaut, il nous montre quatre colonnes d'informations.

  • PID est un ID de processus de la commande en cours d'exécution (CMD)
  • TTY est un endroit où la commande en cours d'exécution s'exécute
  • TIME indique combien de temps est utilisé par le processeur lors de l'exécution de la commande
  • CMD est une commande qui s'exécute en tant que processus courant

L'exécution de la commande ps sans aucune option n'est qu'un format simple de la commande, elle ne renvoie pas beaucoup d'informations. Afin de tirer le meilleur parti de la puissance de la commande ps, exécutons-la avec des options supplémentaires qui seront expliquées plus en détail dans les sections suivantes.

01) Afficher tous les processus (format UNIX)

Pour afficher tous les processus de votre système Linux, vous pouvez exécuter l'une des commandes suivantes :

$ ps -A

ou :

$ ps -e

De plus, pour lister tous les processus en cours d'exécution, lancez :

$ ps -r

02) Afficher tous les processus (format BSD)

Pour voir tous les processus de votre système Linux à l'aide de la commande ps au format BSD, vous pouvez exécuter les commandes suivantes :

$ ps ax

ou

$ ps aux

Où :

  • USER - l'utilisateur exécute le processus
  • PID - l'identifiant du processus
  • %CPU / %MEM - le pourcentage de CPU/RAM occupé par les processus
  • VSZ - la taille de la mémoire virtuelle occupée par les processus
  • RSS - la taille de la mémoire physique occupée par les processus
  • START - heure de début
  • STAT - l'état du processus dans lequel :S (en veille), R (en cours d'exécution), I (sommeil interruptible).
  • Temps :affiche le temps CPU accordé par le noyau pour ce processus en cours d'exécution.
  • COMMAND - la commande qui s'exécute en tant que processus en cours

03) Afficher tous les processus exécutés par une commande

Pour lister tous les processus qui seront exécutés par une commande, utilisons la syntaxe suivante :

$ ps -C <command_name>

Par exemple, listez tous les processus de la commande '/usr/sbin/kerneloops' en lançant :

$ ps -C kerneloops

Vous pouvez également utiliser des arguments sous la forme d'une liste séparée par des blancs ou des virgules, par exemple :

$ ps -C sshd,systemd

04) Afficher tous les processus exécutés par un utilisateur

Si vous souhaitez répertorier le processus par utilisateur dont l'ID utilisateur est 1000, exécutons la commande suivante :

$ ps -u 1000

Vous pouvez également rechercher un processus par nom d'utilisateur :

$ ps -U root -u root u

Le paramètre -U parameter sélectionnera par real user ID (RUID) . Il sélectionne les processus dont le véritable nom d'utilisateur ou ID se trouve dans la liste des utilisateurs. L'ID utilisateur réel identifie l'utilisateur qui a créé le processus.

Alors que le paramètre -u paramater sélectionnera par ID utilisateur effectif (EUID)

05) Afficher les processus appartenant au groupe

Afin de lister tous les processus appartenant à un nom de groupe spécifique, exécutons la commande avec -fG option. Par exemple :

$ ps -fG cas

Afin d'afficher tous les processus par identifiant de groupe, vous pouvez exécuter la commande avec l'option '-g'. Par exemple :

$ ps -g 1

Sortie :

   PID TTY          TIME CMD
     1 ?        00:00:03 systemd

06) Afficher les processus par PID

Vous pouvez répertorier tous les processus par PID en exécutant la commande ps avec l'option '-fp'. Par exemple :

$ ps -fp 34531

Sortie :

UID         PID   PPID  C STIME TTY          TIME CMD
cas       34531      1  0 06:16 ?        00:00:00 /lib/systemd/systemd --user

De plus, afin de lister tous les processus par PPID, lançons la commande avec l'option '--ppid' :

$ ps -f --ppid 34529

Sortie :

UID         PID   PPID  C STIME TTY          TIME CMD
cas       34609  34529  0 06:16 ?        00:00:00 sshd: cas@pts/0

07) Afficher les processus par TTY

Afin d'afficher tous les processus par TTY, vous pouvez exécuter la commande avec l'option '-t'. Par exemple :

$ ps -t tty1

08) Afficher les processus appartenant à l'utilisateur actuel

Pour lister tous les processus en cours d'exécution par l'utilisateur actuel, exécutons la commande avec l'option '-x' :

$ ps -x

09) Afficher tous les processus avec une liste complète

Par exemple, lançons la commande ps avec -f option, pour afficher tous les processus au format complet :

$ ps -af

10) Afficher tous les processus avec un format supplémentaire

De plus, pour afficher la liste complète supplémentaire du résultat, exécutez la commande ps avec -F option. Par exemple :

$ ps -F

11) Afficher tous les processus au format hiérarchique ASCII

Pour illustrer, en supposant que vous souhaitiez afficher tous les processus sur votre système Linux au format de hiérarchie de processus d'art ASCII, exécutons :

$ ps af

La sortie sera au format "forêt":

12) Afficher le processus dans la sortie élargie

Si vous souhaitez élargir la sortie lors de l'exécution de la commande ps, utilisez w choix :

$ ps w

Faisons une comparaison entre les sorties de l'exécution de 'ps w' et 'ps' :

13) Processus d'affichage selon le format défini par l'utilisateur

Vous pouvez utiliser la syntaxe suivante pour afficher dans un format défini par l'utilisateur :

Syntax:
$ ps --format column_name
$ ps -o column_name
$ ps o column_name

For example:
$ ps -e -o user,pid,cmd

14) Afficher les discussions avec l'ID de discussion

Par exemple, pour afficher les threads avec la colonne SPID (SPID est l'identifiant du thread), exécutez :

$ ps -aT

15) Afficher les informations sur les discussions

De plus, vous pouvez utiliser l'option '-L' pour obtenir des informations sur les threads de votre système Linux :

$ ps -aL

La sortie avec la colonne 'LWP' vous montre l'identifiant du thread :

Quelques exemples supplémentaires

01) Vérifiez quels processus utilisent le plus de RAM

La commande suivante affichera la plus grande partie de la mémoire en utilisant des processus, %MEM dans la 1ère colonne, PID dans la 2e colonne et la commande dans la 3e colonne pour tous les processus en cours d'exécution sur le système :

$ ps -eo pmem,pid,cmd | sort -k 1 -nr

02) Affiche tous les threads d'un identifiant de processus spécifique

Cela affichera tous les threads d'un pid de processus particulier.

$ ps -Lf -p 3482

03) Affiche l'enfant d'un processus parent

Cela affichera tous les processus enfants d'un processus et est utile pour découvrir quels processus ont été dérivés de ce processus principal.

$ ps -o pid,pcpu,pmem,uname,comm -C apache2

04) Affiche la durée d'exécution du processus

La commande suivante indiquera depuis combien de temps le processus 'mysql' est exécuté sur le système :

$ ps -e -o pid,comm,etime | grep mysql
3107 mysqld_safe 18-07:01:53
3469 mysqld 18-07:01:52
  • etime :temps écoulé depuis le démarrage du processus, sous la forme [[DD-]hh:]mm:ss.
  • etimes :temps écoulé depuis le démarrage du processus, en secondes.

05) Obtenir des informations de sécurité

Si nous voulons voir qui est actuellement connecté à votre serveur, nous pouvons le voir en utilisant la commande ps :

$ ps -eo pid,user,args

Vous pouvez maintenant mapper les pids sur leurs unités systemd respectives avec la commande ci-dessous :

$ ps -e -o pid,unit,cmd

Conclusion

Le pstree (ou utilisez ps -axjf ) et pgrep sont des commandes supplémentaires qui peuvent aider à obtenir des informations sur le processus en cours d'exécution.

Vous pouvez utiliser ps comme moniteur en temps réel à l'aide de la commande watch, par exemple, nous voulons filtrer les processus par CPU et le rapport d'utilisation de la mémoire est mis à jour toutes les 1 seconde.

$ watch -n 1 ‘ps -aux --sort -pmem, -pcpu’

Dans ce didacticiel, nous avons appris de nombreuses façons d'utiliser la commande ps sous Linux. Pour explorer toutes les options, veuillez consulter la page de manuel ps. Merci d'avoir lu et s'il vous plaît laissez votre suggestion dans la section des commentaires ci-dessous.


Linux
  1. Commande Linux wc avec exemples

  2. Commande de tri Linux avec exemples

  3. Commande Linux Tee avec exemples

  4. Commande principale Linux avec exemples

  5. Commande JQ sous Linux avec exemples

Commande Linux watch avec exemples

Commande Wait sous Linux avec des exemples

Commande d'exportation Linux avec exemples

Commande de redémarrage sous Linux avec des exemples

Commande Linux PS avec exemples

Commande IP Linux avec exemples