Commandes Linux : ps

PS

Installé avec le paquet procps
Voir aussi : pstree, pgrep, kill, killall, pkill, top, htop, pwdx, jobs, fg , bg , nice, renice et nohup

 

Afficher la version de la commande ps

ps --version

ou

apt-cache policy procps

 

Les différents types d’arguments utilisés par ps

  • -h : Formats Unix98
  • h : BSD
  • --help : GNU long

 

Les arguments utilisés ici (mais il en existe beaucoup d’autres)

  • -h : Formats Unix98
  • h : BSD
  • --help : GNU long

 

Signification des principales colonnes

  • USER (user) : utilisateur effectif du processus (euser)
  • PID (pid) : numéro d’identification unique du processus
  • PPID (ppid) : PID du processus parent
  • %CPU (pcpu) : pourcentage de temps du microprocesseur utilisé par le processus
  • %MEM (pmem) : rapport entre la taille de mémoire résidente et la mémoire physique de la machine, exprimé en pourcentage
  • VSZ (vsz) : taille de la mémoire virtuelle du processus (en Kio)
  • RSS (rss) : taille de la mémoire résidente, c’est-à-dire la mémoire physique non transférée vers l’espace d’échange (swap) qu’une tâche a utilisée (en Kio)
  • TTY (tty) : terminal associé au processus. Un caractère ? indique qu’aucun terminal n’est associé à un processus et que donc, celui-ci a été lancé par le système
  • STAT (stat) : état du processus codé sur une ou deux lettres
  • START (start_time) : heure à laquelle le processus a commencé (ou nombre de jours)
  • TIME (time) : temps total CPU utilisé par le processus depuis son lancement
  • COMMAND (args) : commande avec tous ses arguments sous forme de chaîne

 

Explications de la colonne STAT

  • D : en sommeil non interruptible (normalement entrées et sorties) ;
  • R : s’exécutant ou pouvant s’exécuter (dans la file d’exécution) ;
  • S : en sommeil interruptible (en attente d’un événement pour finir) ;
  • T : arrêté, par un signal de contrôle des tâches ou parce qu’il a été tracé ;
  • W : pagination (non valable depuis le noyau 2.6.xx) ;
  • X : tué (ne devrait jamais être vu) ;
  • Z : processus zombie (), terminé mais pas détruit par son parent;
  • < : haute priorité (non poli pour les autres utilisateurs) ;
  • N : basse priorité (poli pour les autres utilisateurs) ;
  • L : avec ses pages verrouillées en mémoire (pour temps réel et entrées et sorties personnalisées) ;
  • s : meneur de session ;
  • l : possède plusieurs processus légers (« multi-thread », utilisant CLONE_THREAD comme NPTL pthreads le fait) ;
  • + : dans le groupe de processus au premier plan.

 

Filtrer les processus par leurs noms

ps -fC processus[,processus...]

Le nom exact doit être fourni. Pour faire une recherche par nom en utilisant des expressions régulières, voir la commande pgrep.
ex :

# ps -C sddm,systemd
  PID TTY          TIME CMD
    1 ?        00:00:01 systemd
  672 ?        00:00:00 sddm
  744 ?        00:00:00 systemd
 1045 ?        00:00:00 systemd
# ps -fC sddm,systemd
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 juil.31 ?      00:00:01 /sbin/init
root       672     1  0 juil.31 ?      00:00:00 /usr/bin/sddm
sddm       744     1  0 juil.31 ?      00:00:00 /lib/systemd/systemd --user
adminsys  1045     1  0 juil.31 ?      00:00:00 /lib/systemd/systemd --user

 

Afficher tous les processus sous forme arborescente

ps faux

ex :

[...]
adminsys  1179  0.0  0.9 290004 20268 ?        Ss   juil.31   0:00 kdeinit5: Running...
adminsys  1180  0.0  1.5 496284 31924 ?        Sl   juil.31   0:00  \_ /usr/lib/x86_64-linux-gnu/libexec/kf5/klauncher --fd=9
adminsys  1183  0.0  2.5 812852 53284 ?        Sl   juil.31   0:09  \_ kded5 [kdeinit5]
adminsys  1249  0.0  2.0 617888 41668 ?        Sl   juil.31   0:01  \_ /usr/bin/ksmserver
adminsys  1284  7.6  6.5 3108428 134620 ?      Sl   juil.31  35:40  |   \_ kwin_x11 -session 1027b29c28a274000153035335200000008210005_1533051544_361612
adminsys  1288  0.0  1.9 602120 39280 ?        Sl   juil.31   0:03  |   \_ /usr/lib/x86_64-linux-gnu/libexec/kdeconnectd
adminsys  1289  0.0  4.0 762588 84036 ?        Sl   juil.31   0:03  |   \_ /usr/bin/krunner
adminsys  1291  0.1  9.1 3625972 187368 ?      Sl   juil.31   0:43  |   \_ /usr/bin/plasmashell --shut-up
adminsys  1294  0.0  1.7 673084 36136 ?        Sl   juil.31   0:00  |   \_ /usr/lib/x86_64-linux-gnu/libexec/polkit-kde-authentication-agent-1
adminsys  1295  0.0  1.5 503968 31744 ?        Sl   juil.31   0:00  |   \_ /usr/bin/xembedsniproxy
adminsys  1377  0.0  0.2 348676  5616 ?        Sl   juil.31   0:00  |   \_ /usr/lib/at-spi2-core/at-spi-bus-launcher --launch-immediately
adminsys  1387  0.0  0.1  45368  4072 ?        S    juil.31   0:00  |       \_ /usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3
adminsys  1327  0.0  1.8 664272 38684 ?        Sl   juil.31   0:01  \_ /usr/lib/x86_64-linux-gnu/libexec/org_kde_powerdevil -session 1027b29c28a274000153035335300000008210009_1533051544_344
adminsys  1340  0.0  2.9 945568 61272 ?        Sl   juil.31   0:01  \_ /usr/bin/korgac -session 1027b29c28a274000153035335400000008210010_1533051544_344560
adminsys  1667  0.1  4.9 825788 101168 ?       Sl   juil.31   0:50  \_ /usr/bin/python /usr/bin/terminator
adminsys  1677  0.0  0.2  21604  5324 pts/1    Ss   juil.31   0:00  |   \_ /bin/bash
root      1683  0.0  0.1  53708  3936 pts/1    S    juil.31   0:00  |       \_ sudo su -
root      1684  0.0  0.1  55024  3304 pts/1    S    juil.31   0:00  |           \_ su -
root      1685  0.0  0.2  21768  5812 pts/1    S    juil.31   0:00  |               \_ -su
root     29771  0.0  0.1  38456  3520 pts/1    R+   04:04   0:00  |                   \_ ps faux
[...]

 

Afficher tous les processus en cours d’exécution (R)

ps fauxr

 

Afficher tous les processus exécutés par un utilisateur (identifiant réel et effectif)

    -U : Utilisateur réel (RUID), identifiant l’utilisateur qui a créé le processus
    -u : Utilisateur effectif (EUID), identifiant l’utilisateur utilisé réellement par le processus

Rmq : RUID et EUID sont très souvent identiques.

ps faux -U username -u username

 

Afficher les détails d’un processus par son PID

ps -fp PID

ex :

# ps -p 1667
  PID TTY          TIME CMD
 1667 ?        00:00:35 terminator
# ps -fp 1667
UID        PID  PPID  C STIME TTY          TIME CMD
adminsys  1667  1179  0 juil.31 ?      00:00:32 /usr/bin/python /usr/bin/terminator
# ps -fp $(pgrep -d, -x terminator)
UID        PID  PPID  C STIME TTY          TIME CMD
adminsys  1591  1385  0 11:16 ?        00:00:28 /usr/bin/python /usr/bin/terminator

 

Afficher uniquement le PID d’un processus à partir de son nom

ps -C processus -o pid=

ex :

# ps -C terminator -o pid=
 1667

 

Afficher tous les processus sous forme arborescente avec la priorité de chacun

ps flax

 

Afficher tous les processus avec leurs PID et PPID

ps -efH

 

Choisir les colonnes de sortie à afficher

ps -eo keyword[,keyword...] [--sort=keyword]

Rmq : Pour afficher tous les mots-clefs et les en-têtes de colonnes correspondants :

ps L

ex :

# ps -eo user,pid,ppid,pcpu,pmem,stat,start_time,time,args --sort=user
Fermer le menu
%d blogueurs aiment cette page :