Énoncé 6 : Gestion des processus
Introduction
Durée
1 heure
Mots-clés
processus, PID, signal, avant-plan, arrière-plan.
Objectif
À l’issue de ce chapitre, vous serez en mesure de contrôler les processus que vous exécutez sur un système GNU/linux.
Ces exercices correspondent au chapitre 8 "Gestion des processus" du livre "Linux - Principes de base de l’utilisation du système 8e édition" dans la collection Ressources Informatiques aux Éditions ENI.
Matériel à prévoir
Ces exercices peuvent être réalisés sur n’importe quelle distribution Linux où le lecteur possède un compte utilisateur valide ; le compte utilisateur tux est utilisé en correction des énoncés.
Prérequis
Pour valider les prérequis nécessaires, avant d’aborder le TP, répondez aux questions ci-après :
1. |
Comment distingue-t-on les différents processus s’exécutant sur un système Linux ? |
|
2. |
Un processus dont le PID est différent de 1 : |
|
a. |
a obligatoirement un processus père. |
|
b. |
a obligatoirement plusieurs processus fils. |
|
c. |
est lancé systématiquement au démarrage du système. |
|
3. |
À quoi correspondent les signaux 1, 2, 9 et 15 ? |
|
4. |
Comment lancer une commande en avant-plan ? |
|
5. |
Comment lancer une commande en arrière-plan ? |
Énoncé 6.1 Visualisation des processus
Durée estimative : 15 minutes
1. |
Connectez-vous sur la troisième console virtuelle texte (tty3) en tant qu’utilisateur tux. |
2. |
Affichez le résumé des options possibles de la commande ps. |
3. |
Consultez la page du manuel électronique concernant la commande ps. |
4. |
Listez les processus lancés à partir de votre shell courant. |
5. |
Listez tous vos processus s’exécutant actuellement sur le système. |
6. |
Listez tous les processus lancés sur le système (démons inclus) en affichant l’identité sous laquelle ils s’exécutent. |
7. |
Listez de nouveau tous les processus s’exécutant sur le système de façon détaillée en employant d’autres options de la commande ps. |
8. |
Affichez la hiérarchie des processus s’exécutant sur le système. |
Indices
2. |
Utilisez l’option GNU --help. |
4. |
Utilisez la commande man. |
5. |
Utilisez la commande ps avec l’option adéquate. |
6. |
Cumulez plusieurs options de la commande ps : affichage de tous les processus, affichage des processus non rattachés à un terminal (démons), affichage de l’UID sous lequel les processus s’exécutent. |
7. |
Cumulez plusieurs options de la commande ps : affichage de tous les processus, affichage détaillé. |
8. |
Utilisez... |
Énoncé 6.2 Signaux et commande kill
Durée estimative : 10 minutes
1. |
Listez les signaux pouvant être envoyés aux processus. |
2. |
À quoi correspondent ces signaux et quel est le comportement par défaut des processus lorsqu’ils les reçoivent ? |
3. |
Essayez d’arrêter un processus appartenant à un autre utilisateur. Est-ce possible ? |
4. |
Lancez la commande suivante : sleep 777. Connectez-vous en tant qu’utilisateur tux sur un autre terminal et envoyez le signal SIGTERM au processus sleep 777. |
Indices
1. |
Utilisez la commande kill avec l’option adéquate. |
2. |
Affichez la page "signal" de la septième section du manuel électronique. |
Énoncé 6.3 Commande top
Durée estimative : 15 minutes
1. |
Affichez une liste rafraîchie en temps réel des processus s’exécutant sur le système. |
2. |
Affichez l’aide incluse avec la commande top. |
3. |
Ajoutez la colonne PPID dans l’affichage de la commande top. |
4. |
Affichez maintenant uniquement les processus de l’utilisateur tux. |
5. |
Envoyez le signal 2 (SIGINT) au processus top que vous utilisez actuellement, sans quitter la commande. Que se passe-t-il ? |
Indices
1. |
Utilisez la commande top. |
3. |
Consultez l’aide fournie avec la commande top. |
Énoncé 6.4 Manipulation des processus
Durée estimative : 20 minutes
1. |
Lancez la commande sleep 1111 en arrière-plan. Que signifie ce qui est retourné à l’écran ? |
2. |
Toujours en arrière-plan, exécutez les commandes sleep 2222 et sleep 3333. |
3. |
Lancez en avant-plan la commande sleep 4444, puis faites en sorte de récupérer la main sur votre shell courant. |
4. |
Listez les travaux (jobs) lancés à partir de votre shell courant. |
5. |
Que signifient les caractères + et - dans la liste précédente ? |
6. |
Relancez en arrière-plan l’exécution du processus sleep 4444 suspendu précédemment,. |
7. |
Lancez la commande man sleep et positionnez-vous à sa fin. |
8. |
Suspendez le processus man sans l’arrêter. |
9. |
Arrêtez le processus sleep 1111 en utilisant son numéro de travail. |
10. |
Arrêtez le processus sleep 2222 en utilisant cette fois son PID. |
11. |
Arrêtez le processus sleep 3333 avec la séquence de touches [Ctrl]-C. |
12. |
Retournez sur la page de manuel précédemment ouverte. Vous trouvez-vous toujours au même endroit dans la page ? |
13. |
Quittez le manuel électronique. |
Indices
1. |
Un processus est lancé en arrière-plan lorsqu’on ajoute le caractère & en fin de ligne de commandes. |
3. |
La séquence de touches permettant de suspendre... |
Énoncé 6.5 Pour aller plus loin
1. |
Utilisez un gestionnaire de processus graphique présent sur votre système et visualisez les processus. |