Processus (rappel)
Threads ⋆
Synonymes
Thread et processus
Langages de haut niveau
Voir les threads
pstree
* Affiche les threads par défaut.
* -T cacher les threads
ps
* -L afficher les threads (extra)
* J afficher les threads (BSD)
top
* H bascule thread/processus
Arrière-plan
$ gnome -calculator & xlogo &
[1] 15661
[2] 15666
$ ps
PID TTY TIME CMD
6356 pts/0 00:00:00 bash
15661 pts/0 00:00:00 gnome -calculato
15666 pts/0 00:00:00 xlogo
15669 pts/0 00:00:00 ps
Commandes en arrière-plan
Conduites
Des commandes complexes peuvent passer en arrière-plan
$ cat /dev/urandom | tr -cd ‘ATGC ‘ |
> head -c 10M > adn.txt &
Attention
Aux commandes en arrière-plan qui font des affichages
* L’écran contiendra les sorties mélangés
* L’invite du shell peut être noyée
$ cat /dev/urandom | tr -cd ‘atgc\n’ &
Ctrl-C ne fonctionne que sur les tâches en avant-plan
* (et pas toujours en fait)
Contrôle des tâches
Le shell offre une gestion des tâches
Commandes internes du shell
Suspension
Contrôle des tâches: exemple
$ xeyes -fg blue & xeyes -fg red
[1] 9399
^Z
[2]+ Stoppé xeyes -fg red
$ jobs
[1]- En cours d’exécution xeyes -fg blue &
[2]+ Stoppé xeyes -fg red
$ bg 2
[2]+ xeyes -fg red &
$ # Je ferme le bleu
[1]- Fini xeyes -fg blue
$ jobs
[2]+ En cours d’exécution xeyes -fg red &
$ fg 2
xeyes -fg red
^C
Ressources
* Plusieurs utilisateurs
* Plusieurs processus
* Un seul ordinateur
→ Partage des ressources
→ Contrôle de l’utilisation
Ressources ?
Partage et contrôle de ressources
Le système
Par défaut, le système essaye d’allouer les ressources
L’utilisateur et l’administrateur
* Voient l’état des ressources et leur consommation
* Configurent certaines utilisations de ressources (priorités, limites)
État du système
free —
mémoire libre et utilisée du système (extra)
$ free -h
total used free shared buff/cache available
Mem: 15Gi 4,1Gi 7,8Gi 542Mi 3,1Gi 10Gi
Swap: 4Gi 0B 4,0Gi
Utilisation mémoire des processus
→ Mémoire réservée (allouée) par le processus mais pas encore
occupée (surbooking)
→ Mémoire dans la partition d’échange (swap)
→ Fichier projeté en mémoire (mmap) pas encore chargé.
Mémoire partagée (shared)
Charge système (CPU)
uptime
affiche la durée d’activité et la charge système (extra)
$ uptime
11:30:50 up 23:17, load average: 0,33, 0,58, 0,66
Charge
Utilisation CPU des processus
$ ps -eF –sort -start | head
$ ps -eF –sort -time | head
$ ps -eF –sort -%cpu | head
État des processus
Mesurer le temps
time
mesure le temps passé pendant l’exécution d’une commande
$ time ./travaille
……….
real 0m2,998s
user 0m2,998s
sys 0m0,000s
Faire une pause
sleep
effectue une pause pour une durée déterminée
$ time sleep 3
real 0m3,003s
user 0m0,003s
sys 0m0,001s