GNU/Linux >> Tutoriels Linux >  >> Linux

Exemples de commandes 20 ps pour surveiller les processus Linux

La surveillance du système Linux est l'une des tâches les plus essentielles que tout utilisateur Linux ou administrateur système doit effectuer 24 heures sur 24 pour s'assurer que le système fonctionne correctement et éviter les goulots d'étranglement. Linux est livré avec quelques outils intégrés qui peuvent vous aider à surveiller votre système. L'un d'eux est le ps (état des processus ) commande qui surveille spécifiquement les processus en cours d'exécution et parmi d'autres mesures associées aux processus telles que le pourcentage CPU et mémoire utilisation. La commande ps lit le système de fichiers /proc qui est basé sur la RAM ou le système de fichiers virtuel.

Dans ce guide, nous approfondissons et vous expliquons 20 des commandes ps les plus couramment utilisées.

1) Processus d'inscription dans le shell

La forme la plus simple de la commande ps sous Linux répertorie les processus en cours d'exécution dans le shell actuel. Ceci peut être illustré ci-dessous.

[[email protected] ~]$ ps PID TTY          TIME CMD 1437 pts/0    00:00:00 bash 1465 pts/0    00:00:00 ps[[email protected] ~]$

Définissons quelques termes :

  • PID :il s'agit de l'ID du processus.
  • TTY :il s'agit du terminal qui a démarré et contrôle le processus.
  • TIME :Il s'agit de la durée / du temps cumulé pendant lequel un processus s'est exécuté.
  • CMD :nom de la commande qui a démarré le processus.

2) Lister les processus associés à un terminal

Cela ressemble beaucoup à la liste des processus dans le shell. Pour lister les processus associés au terminal que vous utilisez actuellement, exécutez la commande :

[[email protected] ~]$ ps -T  PID  SPID TTY          TIME CMD 1437  1437 pts/0    00:00:00 bash13357 13357 pts/0    00:00:00 ps[[email protected] ~]$ 

3) Afficher tous les processus en cours d'exécution sur votre système

Pour obtenir un aperçu de tous les processus en cours d'exécution sur votre système Linux, utilisez le drapeau -A comme indiqué :

[[email protected] ~]$ ps -A

Alternativement, vous pouvez également utiliser le drapeau –e comme montré. Vous obtiendrez toujours des résultats similaires.

[[email protected] ~]$ ps -e

4) Affichage de la sortie au format BSD

Pour lister les processus au format BSD, lancez la commande

$ ps -aux

Décomposons la commande :

L'indicateur -a indique à ps d'afficher tous les processus de tous les utilisateurs. Cela exclut toutefois les processus associés à un terminal spécifique.

L'indicateur -u implique un format orienté utilisateur. Il fournit des informations plus détaillées associées aux processus en cours d'exécution.

L'indicateur x répertorie les processus qui sont généralement démarrés lors d'un démarrage du système ainsi que les processus d'arrière-plan.

Où :

  • USER - Ceci spécifie l'utilisateur exécutant le processus
  • PID – Il s'agit de l'ID de processus du processus
  •  %CPU :il s'agit du pourcentage d'utilisation du processeur de chaque processus
  • %MEM - Il s'agit du % de la mémoire physique utilisée par le processus
  • VSZ - Il s'agit de la taille de la mémoire virtuelle de chaque processus en kilo-octets
  • RSS - Il s'agit de la taille/quantité de mémoire physique utilisée par un processus
  • STAT - Cela pointe vers le code d'état du processus, par exemple S (en veille), Z (zombie) et R (en cours d'exécution)
  • START - Il s'agit de l'heure à laquelle le processus a commencé à s'exécuter

5) Affichage de la sortie au format UNIX

Si vous souhaitez afficher la sortie au format UNIX , exécutez la commande ps avec une combinaison de -ef drapeaux

[[email protected] ~]$ ps -ef

Le drapeau -e indique à la commande ps de lister tous les processus

L'indicateur -f (format complet) indique à la commande ps de répertorier les informations détaillées sur les processus.

Définissons quelques nouveaux termes à partir de la capture d'écran :

  • PPID :il s'agit de l'ID du processus parent
  • C :il s'agit du pourcentage d'utilisation du processeur ou du pourcentage d'utilisation du processeur d'un processus.
  • STIME :Indique l'heure à laquelle la commande a été lancée. Identique à START

6) Afficher la sortie dans un format défini par l'utilisateur

Dans une sortie au format défini par l'utilisateur, vous avez le pouvoir de décider des colonnes à afficher. Le drapeau -o détermine quelles colonnes seront affichées lors de l'exécution de la commande ps. Dans l'exemple ci-dessous, seul le PID et COMMENCER les colonnes sont affichées. Assurez-vous de noter que les options de colonnes sont passées en minuscules dans la commande ps.

[[email protected] ~]$ ps -efo pid,start  PID  STARTED 1437 21:55:2813632 01:41:16[[email protected] ~]$

7) Afficher les processus en cours d'exécution d'un utilisateur

Parfois, vous voudrez peut-être découvrir les processus associés à un certain utilisateur, donc pour y parvenir, utilisez le drapeau -u comme indiqué"

$ ps -u utilisateur

OU

$ ps -u uid

Par exemple, pour afficher les processus associés à l'utilisateur "Linuxtechi", exécutez la commande :

$ ps -u linuxtechi

Alternativement, vous pouvez utiliser l'uid de l'utilisateur (User ID). Vous pouvez obtenir l'identifiant de l'utilisateur en exécutant la commande :

$ id utilisateur

[[email protected] ~]$ id linuxtechiuid=1000(linuxtechi) gid=1000(linuxtechi) groups=1000(linuxtechi),10(wheel)[[email protected] ~]$

D'après la sortie ci-dessus, nous pouvons clairement voir que l'uid de l'utilisateur "linuxtechi" est 1000. Vous pouvez ensuite utiliser la commande ps et l'uid pour trouver les processus associés à l'utilisateur.

$ ps -u 1000

Pour l'utilisateur root, exécutez la commande

$ ps -u racine

De même, vous pouvez vérifier en utilisant l'uid de l'utilisateur root dont la valeur est 0

$ ps -u 0

8) Afficher les processus de groupe

La liste des processus de groupe est similaire à la liste des processus utilisateur. Vous pouvez répertorier un processus de groupe à l'aide de la commande ps en transmettant le nom du groupe en spécifiant l'ID de groupe.

Par exemple, pour afficher les processus associés au groupe ‘apache’ lancez la commande :

$ ps -fG

$ ps -fG apache

Vous pouvez également transmettre l'ID de groupe (gid) au lieu du nom de groupe. vous pouvez obtenir les GID à partir du fichier /etc/group.

Par exemple, dans ce cas, l'ID de groupe pour Apache est 48. Ainsi, au lieu de spécifier le nom de groupe "apache ' indiquez simplement le GID no. 48.

$ ps -fG 48

9) Affichage des processus à l'aide de PID et PPID

Les processus Linux peuvent également être affichés à l'aide du PID (ID de processus ) et le PPID (ID de processus parent) . Le PPID fait référence au PID du parent d'un processus.

Pour répertorier les processus par PID, exécutez

$ ps -fp PID

Par exemple, pour lister les processus associés au PID 1286, exécutez la commande :

[[email protected] ~]$ ps -fp 1286UID        PID  PPID  C STIME TTY          TIME CMDpostfix   1286  1285  0 03:49 ? 00:00:00 ramassage -l -t unix -u[[email protected] ~]$

Pour répertorier les processus par PPID, exécutez

$ ps -f –ppid

Par exemple, pour répertorier les processus appartenant au PPID 31903 run

$ ps -f --ppid 31903

10) Recherche d'un PID à l'aide du nom de processus

La plupart du temps, nous ne connaissons généralement pas le PID du nom du processus. Pour ce faire, utilisez le drapeau -C comme indiqué

$ ps -C

[[email protected] ~]$ ps -C firefox  PID TTY          TIME CMD 1446 tty2     00:00:04 firefox[[email protected] ~]$

11) Affichage du processus à l'aide de TTY

Si vous souhaitez filtrer les processus par la valeur tty, utilisez le drapeau -t . Par exemple, pour afficher les processus attachés à tty1, exécutez la commande ps comme indiqué :

$ ps -ft tty1

12) Impression de l'arborescence des processus

Une arborescence de processus montre comment les processus sont liés dans un système Linux. Les processus sans parents sont liés au système via init ou systemd. L'impression nécessite que vous utilisiez le format suivant :

$ ps -e --forest

13) Filtrer un processus selon le processus de thread

Pour filtrer un processus à l'aide du thread de processus, utilisez le drapeau -L comme indiqué,

$ ps -L 1446

14) Surveillance des processus en temps réel

Vous pouvez utiliser l'utilitaire watch pour surveiller les informations statiques sur un processus. La sortie est lue toutes les secondes comme indiqué ci-dessous

$ watch -n 1 'ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | tête'

La commande imprime les colonnes pid,ppid,cmd,%mem et %cpu et surveille les statistiques chaque seconde tout en triant l'%utilisation CPU par ordre décroissant.

15) Résoudre les problèmes de performances de la machine Linux

Lorsque votre système est lent ou surchargé, vous pouvez identifier le processus en cours d'exécution en fonction de l'utilisation la plus élevée du processeur et de la mémoire

Exécutez la commande ps suivante pour répertorier les principaux processus qui consomment beaucoup de mémoire,

$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | tête

Exécutez la commande ps suivante pour répertorier les principaux processus qui consomment beaucoup de CPU,

$ ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | tête

Un exemple de sortie de la commande ps ci-dessus sur mon système est ci-dessous,

16) Tuer les processus qui ne répondent pas

La commande ps peut vous permettre de tuer les applications qui ne répondent pas ou tout processus qui accapare le CPU et la RAM. Pour ce faire, vous devez trouver le PID de cette application particulière à l'aide de la commande :

$ ps -A | grep -i stress

Une fois que vous avez trouvé le PID du processus, vous pouvez le terminer en utilisant la commande kill, l'exemple est montré ci-dessous,

$ kill -9 2583 2584

17) Lister tous les PID de toutes les instances de processus

Vous pouvez lister tous les PID associés à un processus en utilisant la syntaxe :

$ ps -C -o pid=

Par exemple, pour connaître les PID associés au serveur Web httpd, exécutez :

$ ps -C httpd -o pid=

18) Afficher la durée d'exécution des processus

Pour afficher la durée d'exécution des processus, exécutez la commande :

$ ps -eo comm,etime,user

Utilisez la commande ps ci-dessous pour savoir depuis combien de temps un processus particulier est en cours d'exécution,

$ ps -o etime -p

Supposons que nous voulions en savoir plus sur le processus mysql

[[email protected] ~]$  ps -C mysqld -o pid= 3807[[email protected] ~]$[[email protected] ~]$ ps -o etime -p 3807    ÉCOULÉ   01:13:56[ [e-mail protégé] ~]$

19) Lister les processus enfants d'un processus

Pour imprimer ou lister les processus enfants d'un processus, utilisez -C flag dans la syntaxe ci-dessous :

$ ps -C

Par exemple, pour répertorier les processus enfants associés au processus httpd, exécutez

[[email protected] ~]$ ps -C httpd  PID TTY          HEURE CMD31911 ? 00:00:00 httpd31918 ? 00:00:00 httpd31919 ? 00:00:00 httpd31920 ? 00:00:01 httpd31921 ? 00:00:01 httpd31922 ? 00:00:01 httpd[[email protected] ~]$

20) Filtrage de la sortie de la commande ps à l'aide de grep

Pour obtenir des résultats spécifiques dans la commande ps, vous pouvez diriger la sortie vers l'outil utilitaire grep et fournir les critères de recherche.

Par exemple, pour rechercher ou affiner le processus php, exécutez la commande :

$ ps -ef | grep php

Nous avons répertorié les 20 principales commandes ps couramment utilisées pour répertorier et surveiller les processus exécutés sur votre système Linux. Ces commandes fonctionneront sur toutes les distributions Linux et vous donneront certainement un aperçu des processus en cours d'exécution sur votre système et vous aideront à déterminer ceux qui surchargent vos ressources CPU et RAM. Avez-vous trouvé ce guide perspicace? N'hésitez pas à l'aimer et à le partager sur vos plateformes de médias sociaux. Vos commentaires sont les bienvenus.

Lire aussi  :25 meilleurs exemples de commandes pour surveiller les performances du serveur Linux


Linux
  1. 7 Exemples de commandes Linux df

  2. Exemples de commandes sa sous Linux

  3. ac Exemples de commandes sous Linux

  4. Exemples de commandes df sous Linux

  5. du Exemples de commandes sous Linux

Commande Linux PS avec exemples

15 exemples simples de commandes TOP sous Linux pour surveiller les processus

10 exemples de commande Linux ss pour surveiller les connexions réseau

Commande Linux ps - 20 exemples concrets

Exemples de commandes id sous Linux

commande fuser Linux avec des exemples