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