This shows you the differences between two versions of the page.
sde2:laboratoare:03_uso [2023/03/27 19:07] alexandru.radovici |
sde2:laboratoare:03_uso [2023/03/27 19:18] (current) alexandru.radovici |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== TP 4 - Installation et utilisation d'applications ====== | + | ====== TP 3 - Installation et utilisation d'applications ====== |
===== Démarrage et arrêt des applications ===== | ===== Démarrage et arrêt des applications ===== | ||
Line 14: | Line 14: | ||
<code > | <code > | ||
- | student@uso:~$ who | + | student@uso:~$ whox |
student :0 2020-09-04 17:42 (:0) | student :0 2020-09-04 17:42 (:0) | ||
student pts/0 2020-09-19 15:57 (192.168.56.1) | student pts/0 2020-09-19 15:57 (192.168.56.1) | ||
Line 85: | Line 85: | ||
Démarrer une application signifie allouer des ressources système (processeur, mémoire, périphériques d'entrée/sortie) pour exécuter l'application. Une application en cours d'exécution, c'est-à-dire utilisant des ressources système pour exécuter du code et traiter des données, est appelée un **processus**. Lorsque nous démarrons une application, un processus est créé ; quand on arrête l'application, ou quand elle termine son exécution, on entend la fin de l'exécution du processus. | Démarrer une application signifie allouer des ressources système (processeur, mémoire, périphériques d'entrée/sortie) pour exécuter l'application. Une application en cours d'exécution, c'est-à-dire utilisant des ressources système pour exécuter du code et traiter des données, est appelée un **processus**. Lorsque nous démarrons une application, un processus est créé ; quand on arrête l'application, ou quand elle termine son exécution, on entend la fin de l'exécution du processus. | ||
- | Le processus est démarré à partir d'un fichier exécutable qui contient le code de l'application (instructions) et des données. Le fichier exécutable est également appelé **image de processus**. Le fichier exécutable est un **programme**. Nous disons que le processus est un programme en cours d'exécution ((Le temps de création d'un processus à partir d'un fichier exécutable, en chargeant le code et les données du fichier exécutable en mémoire, est appelé ** temps de chargement **). Exécution du processus et l'utilisation des ressources système s'appelle * *run-time**. | + | Le processus est démarré à partir d'un fichier exécutable qui contient le code de l'application (instructions) et des données. Le fichier exécutable est également appelé **image de processus**. Le fichier exécutable est un **programme**. Nous disons que le processus est un programme en cours d'exécution ((Le temps de création d'un processus à partir d'un fichier exécutable, en chargeant le code et les données du fichier exécutable en mémoire, est appelé ** temps de chargement **. Exécution du processus et l'utilisation des ressources système s'appelle **run-time**. |
)). | )). | ||
Line 110: | Line 110: | ||
Un processus est créé par un autre processus. Par exemple, ci-dessus, le processus ''%%which%%'' a été créé à partir d'un processus shell (''%%bash%%''). Le processus shell a été à son tour créé par un autre processus. Un processus a un processus parent ; un processus peut avoir plusieurs processus enfants. Les processus font donc partie d'une hiérarchie. | Un processus est créé par un autre processus. Par exemple, ci-dessus, le processus ''%%which%%'' a été créé à partir d'un processus shell (''%%bash%%''). Le processus shell a été à son tour créé par un autre processus. Un processus a un processus parent ; un processus peut avoir plusieurs processus enfants. Les processus font donc partie d'une hiérarchie. | ||
- | Au sommet de la hiérarchie des processus se trouve le processus nommé classiquement ''%%init%%''. Dans la liste ci-dessus, nous voyons que le processus au sommet de la hiérarchie est ''%%systemd%%''. ''%%systemd%%''((https://freedesktop.org/wiki/Software/systemd/ | + | Au sommet de la hiérarchie des processus se trouve le processus nommé classiquement ''%%init%%''. Dans la liste ci-dessus, nous voyons que le processus au sommet de la hiérarchie est ''%%systemd%%''. ''%%systemd%%''((https://freedesktop.org/wiki/Software/systemd/)) est l'implémentation de ''%%init%%'' présent dans la plupart des distributions Linux actuelles ((Le processus ''%%init%%'' existera toujours au sommet de la hiérarchie des processus, qu'il soit ou non être appelé ''%%systemd%%'', ''%%init%%'', ''%%upstart%%'' ou autrement.)). |
- | )) est l'implémentation de ``%%init%%'' présent dans la plupart des distributions Linux actuelles((Le processus ``%%init%%'' existera toujours au sommet de la hiérarchie des processus, qu'il soit ou non être appelé ''%%systemd%%'', ''%%init%%'', ''%%upstart%%'' ou autrement. | + | |
- | )). | + | |
=== Liste des processus === | === Liste des processus === | ||
- | Sur un plan plus didactique, nous pouvons visualiser la liste des processus d'un système. L'utilitaire ``%%ps%%'' affiche les processus actuels du système (un //instantané// des processus système). Lors d'une simple exécution, l'utilitaire ``%%ps%%'' affiche les processus dans le terminal actuel : | + | Sur un plan plus didactique, nous pouvons visualiser la liste des processus d'un système. L'utilitaire ''%%ps%%'' affiche les processus actuels du système (un //instantané// des processus système). Lors d'une simple exécution, l'utilitaire ''%%ps%%'' affiche les processus dans le terminal actuel : |
<code bash> | <code bash> | ||
Line 147: | Line 147: | ||
==== Attributs de processus ==== | ==== Attributs de processus ==== | ||
- | L'utilitaire ``%%ps%%'' a un affichage tabulaire des processus, chaque colonne correspondant à un attribut des processus. Dans un run simple, comme nous l'avons vu plus haut, quatre colonnes sont affichées : | + | L'utilitaire ''%%ps%%'' a un affichage tabulaire des processus, chaque colonne correspondant à un attribut des processus. Dans un run simple, comme nous l'avons vu plus haut, quatre colonnes sont affichées : |
* ''%%PID%%'' : représentant l'identifiant du processus | * ''%%PID%%'' : représentant l'identifiant du processus | ||
Line 173: | Line 173: | ||
=== Afficher les attributs d'un processus === | === Afficher les attributs d'un processus === | ||
- | Un processus a plus que les quatre attributs affichés dans une simple exécution de l'utilitaire ``%%ps%%''. Pour afficher plus d'attributs, nous utilisons l'option ''%%-f%%'' (du //format complet//) ou l'option ''%%-F%%'' (du //format extra complet/ / ), comme ci-dessous : | + | Un processus a plus que les quatre attributs affichés dans une simple exécution de l'utilitaire ''%%ps%%''. Pour afficher plus d'attributs, nous utilisons l'option ''%%-f%%'' (du //format complet//) ou l'option ''%%-F%%'' (du //format extra complet// ), comme ci-dessous : |
<code bash> | <code bash> | ||
Line 186: | Line 186: | ||
student 15027 14897 0 9728 3340 0 17:46 pts/4 00:00:00 ps -F | student 15027 14897 0 9728 3340 0 17:46 pts/4 00:00:00 ps -F | ||
</code> | </code> | ||
- | Bien sûr, nous pouvons combiner ces options avec l'option ``%%-e%%'' pour afficher tous les processus : | + | Bien sûr, nous pouvons combiner ces options avec l'option ''%%-e%%'' pour afficher tous les processus : |
<code bash> | <code bash> | ||
Line 202: | Line 202: | ||
[...] | [...] | ||
</code> | </code> | ||
- | Les options ``%%-f%%'' et ``%%-F%%'' affichent également d'autres attributs du processus, tels que : | + | Les options ''%%-f%%'' et ''%%-F%%'' affichent également d'autres attributs du processus, tels que : |
* ''%%UID%%'' : le nom de l'utilisateur propriétaire du processus | * ''%%UID%%'' : le nom de l'utilisateur propriétaire du processus | ||
Line 214: | Line 214: | ||
==== Surveillance du processus ==== | ==== Surveillance du processus ==== | ||
- | L'utilitaire ``%%ps%%'' affiche les processus et leurs attributs à un instant donné, un //instantané// des processus système. Souvent on s'intéresse aussi à l'évolution des processus dans le temps : évolution de la consommation des ressources, émergence de nouveaux processus. Autrement dit, pour surveiller les processus. La surveillance des processus consiste à obtenir périodiquement des informations sur les processus. | + | L'utilitaire ''%%ps%%'' affiche les processus et leurs attributs à un instant donné, un //instantané// des processus système. Souvent on s'intéresse aussi à l'évolution des processus dans le temps : évolution de la consommation des ressources, émergence de nouveaux processus. Autrement dit, pour surveiller les processus. La surveillance des processus consiste à obtenir périodiquement des informations sur les processus. |
- | Évidemment, un moyen simple de surveiller est d'exécuter périodiquement l'utilitaire ``%%ps%%''. Il existe cependant des utilitaires dédiés à la surveillance. | + | Évidemment, un moyen simple de surveiller est d'exécuter périodiquement l'utilitaire ''%%ps%%''. Il existe cependant des utilitaires dédiés à la surveillance. |
=== Surveillance en utilisant top === | === Surveillance en utilisant top === | ||
- | L'utilitaire ``%%top%%'' est l'utilitaire de surveillance de processus de base dans le monde Linux. C'est l'équivalent du Gestionnaire des tâches de Windows. L'exécution de ''%%top%%'' conduit à afficher, dans le terminal, les processus du système et à rafraîchir périodiquement les informations (par défaut ''%%2%%'' secondes). L'image ci-dessous est une fenêtre de terminal exécutant ''%%top%%'' : | + | L'utilitaire ''%%top%%'' est l'utilitaire de surveillance de processus de base dans le monde Linux. C'est l'équivalent du Gestionnaire des tâches de Windows. L'exécution de ''%%top%%'' conduit à afficher, dans le terminal, les processus du système et à rafraîchir périodiquement les informations (par défaut ''%%2%%'' secondes). L'image ci-dessous est une fenêtre de terminal exécutant ''%%top%%'' : |
- | {{:uso:laboratore:laboratore-02:top.png?500|Le meilleur utilitaire}} | + | {{:uso:laboratoare:laborator-02:top.png?500|Le meilleur utilitaire}} |
''%%top%%'' affiche des informations périodiques sur les processus **et** sur l'état du système : CPU, consommation de mémoire. A chaque période (par défaut ''%%2%%'' secondes) les informations affichées sont rafraîchies. | ''%%top%%'' affiche des informations périodiques sur les processus **et** sur l'état du système : CPU, consommation de mémoire. A chaque période (par défaut ''%%2%%'' secondes) les informations affichées sont rafraîchies. | ||
<notes> | <notes> | ||
- | La sortie de l'utilitaire ''%%top%%'' se fait à l'aide de la touche ''%%q%%''((''%%top%%'' est un utilitaire interactif. C'est-à-dire lors de son exécution l'utilisateur peut interagir avec les processus ou modifier les informations affichées. Par exemple, l'utilisation de la touche ``%%M%%'' dans une exécution ``%%top%%'' affiche les processus triés par consommation de mémoire. Un résumé des commandes interactives du '' %%top%%'' s'obtient à l'aide de la touche ''%%?%%''. | + | La sortie de l'utilitaire ''%%top%%'' se fait à l'aide de la touche ''%%q%%''((''%%top%%'' est un utilitaire interactif. C'est-à-dire lors de son exécution l'utilisateur peut interagir avec les processus ou modifier les informations affichées. Par exemple, l'utilisation de la touche ''%%M%%'' dans une exécution ''%%top%%'' affiche les processus triés par consommation de mémoire. Un résumé des commandes interactives du '' %%top%%'' s'obtient à l'aide de la touche ''%%?%%''. |
)). | )). | ||
</note> | </note> | ||
Line 280: | Line 280: | ||
* Tuez le shell actuel. | * Tuez le shell actuel. | ||
- | * Démarrez une application ''%%python%%''. Démarrez une application ''%%vim%%''. Tuez ces processus en utilisant l'utilitaire ``%%kill%%''. | + | * Démarrez une application ''%%python%%''. Démarrez une application ''%%vim%%''. Tuez ces processus en utilisant l'utilitaire ''%%kill%%''. |
**Notes de bas de page** | **Notes de bas de page** |