Outils pour utilisateurs

Outils du site


linux:systeme:processus

Linux

Processus


Voir les processus courants

Commande ps

(formation㉿lubuntu01)[~]$ ps -ef
UID          PID    PPID  C STIME TTY          TIME CMD
root           1       0  0 10:03 ?        00:00:02 /sbin/init splash
root           2       0  0 10:03 ?        00:00:00 [kthreadd]
root           3       2  0 10:03 ?        00:00:00 [rcu_gp]
...

(formation㉿lubuntu01)[~]$ ps aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.2 100644 11336 ?        Ss   10:03   0:02 /sbin/init splash
root           2  0.0  0.0      0     0 ?        S    10:03   0:00 [kthreadd]
root           3  0.0  0.0      0     0 ?        I<   10:03   0:00 [rcu_gp]
...

(formation㉿lubuntu01)[~]$ ps -fu formation
UID          PID    PPID  C STIME TTY          TIME CMD
formati+     854       1  0 10:03 ?        00:00:00 /lib/systemd/systemd --user
formati+     855     854  0 10:03 ?        00:00:00 (sd-pam)
formati+     861     854  0 10:03 ?        00:00:00 /usr/bin/pipewire
formati+     862     854  0 10:03 ?        00:00:00 /usr/bin/pipewire-media-session
formati+     863     854  0 10:03 ?        00:00:00 /usr/bin/pulseaudio --daemonize=no --log-target=journal
formati+     878     854  0 10:03 ?        00:00:00 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --syst
formati+     924     797  0 10:03 ?        00:00:00 sshd: formation@pts/0
formati+     925     924  0 10:03 pts/0    00:00:00 -bash
...

Commande pstree (visualisation des dépendances)

(formation㉿lubuntu01)[~]$ ps -l
F S   UID     PID    PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 S  1000     925     924  0  80   0 -  2875 do_wai pts/0    00:00:00 bash
0 T  1000    1335     925  0  80   0 -  2362 do_sig pts/0    00:00:00 nano
0 T  1000    1343     925  0  80   0 -  2362 do_sig pts/0    00:00:00 nano
0 R  1000    1900     925  0  80   0 -  3168 -      pts/0    00:00:00 ps
(formation㉿lubuntu01)[~]$ pstree 925
bash─┬─2*[nano]
     └─pstree

Voir les processus actifs en "live"

Solaris prstat
Linux top , htop


Gestion des commandes en tâche de fond

Lancer une commande en tâche de fond en mettant le caractère & en fin de ligne

ping localhost &

Lancer une commande en tâche de fond, isolée du shell courant : nohup

nohup ping localhost &

Lister les programmes en tâche de fond : jobs ou bg

(formation㉿lubuntu01)[~]$ nano fichier1 &
(formation㉿lubuntu01)[~]$ nano fichier2 &
(formation㉿lubuntu01)[~]$ jobs
[1]-  Stopped                 nano fichier1
[2]+  Stopped                 nano fichier2

Reprendre un programme en tâche de fond : fg

(formation㉿lubuntu01)[~]$ fg 2
nano fichier2

Connaître le shell courant

readlink "/proc/$$/exe"

Récupérer le PID d'un processus

ping localhost &
echo "PID du processus courant : $$"
echo "PID du processus lancé (ping localhost) : $!"
sleep 3
kill $!
exit 0

Kill (signaux principaux)

SignalCommandeDescription
9 SIGKILLkill -9 <pid>Tuer un processus
15 SIGTERMkill -15 <pid>Arrêter un processus
19 SIGSTOPkill -19 <pid>Suspendre un processus (eq. Ctrl+z)
18 SIGCONTkill -18 <pid>Réactiver un processus suspendu
2 SIGINTkill -2 <pid>Interrompre un processus (eq. Ctrl+c)


Tuer tous les process lançant le même programme

for PID in `ps -ef | grep "ingres" | awk '{print $2}'`
do
	kill -9 ${PID}
done

Lister les processus qui consomment le plus de CPU

ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu
uniquement ceux > à 0 % :
ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed '/^ 0.0 /d'

Lister les threads d'un processus

ps -C mysqld -L -o pid,tid,pcpu,state,cputime,args

Tracer les appels système d'un processus

strace -p PID

Tracer les appels système d'un processus qui fait des fork, et filtrer la sortie

strace -F -p PID 2>&1 |grep -v "FILTRE"

Tracer l'utilisation des sockets d'un processus

strace -e trace=network -p PID

linux/systeme/processus.txt · Dernière modification : 2022/06/15 14:14 de zandor