1 Gestion de processus
Transcription
1 Gestion de processus
Département R & T [email protected] Module I1 - Introduction aux systèmes informatiques TP 4 : Gestion de processus & outils réseaux 5 octobre 2011 1 Gestion de processus Ouvrez un terminal d’interpréteur de commandes (un shell). 1. Exécuter la commande jedit qui a pour effet de lancer une éditeur de textes. Pourriez vous exécuter une autre commande dans le même shell ? Justifier votre réponse. L’intrepreteur de commande est bloqué en attente de la terminaison du processus fils qui exécute jedit n o i t 2. Suspendre l’application jedit en appuyant sur les touches <ctl>+Z. Peut on exécuter une autre commande dans le même shell ? justifier. Le processus fils est suspendu. Le processus père peut alors continuer son exécution pour exécuter d’autres commandes c e r r 3. Reprendre l’exécution de l’application suspendue en premier plan ? fg %n où n est le numéro de la tâche 4. Suspendre à nouveau l’application puis reprendre son exécution en tâche de fond. Peut on exécuter une autre commande dans le même shell ? justifier. <ctrl>+z puis bg %n. Le processus fils est lancé en parallèle avec le père alors le père (le shell peut exécuter d’autres commandes o C 5. Donner une commande qui permet d’arrêter l’application graphique exécutée. kill %n 6. Lancer à nouveau l’application jedit comme une tâche de fond. Fermer la fenêtre de l’interpréteur de commandes à partir de laquelle l’application est lancée. Quel est l’effet de cette action sur l’application jedit ? Justifier votre réponse. jedit & pour lancer l’application en tâche de fond. Lorsque l’on arrête l’interpréter (le père) tous ses processus fils s’arrêtent aussi 7. Dans un nouveau shell, exécuter la commande nohup jedit. puis arrêter le processus du shell. Quel est l’effet sur l’application jedit. Justifier votre réponse. Quel est le processus père de l’application jedit. Le processus fils survit à l’arrêt de son père. Le nouveau père devient le processus de connexion 1 Département R & T [email protected] 8. Afficher l’ensemble de processus courants sur votre machine en utilisant la commande top. Quelles sont les informations affichées par cette commande ? top affiche l’état des processus en temps réel. Utiliser man top pour avoir les détails sur la nature des informations affichée 9. En utilisant la commande ps, afficher les informations détaillés sur vos processus. ps -ef | grep votrelogin 10. Donner le chemin, en terme de processus, qui relie le processus de votre shell au processus racine init. pour chaque processus à commençant par le shell, trouver le PPID et recommencer pour le processus père jusqu’au arriver au processus init n o i t 11. Lancer à nouveau l’application jedit en tâche de fond. Donner une commande qui peut renvoyer le PPID du processus qui exécute cette application. ps -ef |grep jedit |grep -v | grep tr ’ ’ ’\n’ |uniq |head -5 |tail -1 2 c e r r Les signaux 1. Donner deux commandes qui permettent d’afficher les signaux définis dans le système. trap -l ou kill -l 2. Lancer à nouveau l’application jedit en tâche de fond. A l’aide de la commande kill envoyer les signaux adéquats pour suspendre, reprendre puis arrêter le processus qui exécute jedit. IL faut d’abord trouver le pid du processus (en utilisant ps) puis utiliser la commende kill : kill -20 (ou SIGSTOP) pid pour suspendre, kill -18 (OU SIGCONT) pour reprendre et kill -9 pour tuer le processus o C 3. Dans le shell courant et à l’aide de la commande trap remplacer le traitant par défaut du signal d’interruption SIGINT par une commande qui affiche le message Signal SIGINT désactivé. Tester. trap ’echo signal SIGINT désactivé’ 2 pour tester taper <CTL>+C dans le shell 4. Rétablir le traitant par défaut du signal SIGINT. trap 2 5. Désactiver le traitant par défaut du signal de suspension de l’exécution SIGSTOP. Proposer un scénario pour tester cette désactivation. Rétablir le traitant par défaut de ce signal. trap ” 20 pour désactiver le traitant, lancer une application graphique, récupérer le PID du processus exécutant l’application puis exécuter la commande kill -20 pid, l’application continue à s’exécuter ! Taper trap 20 pour rétablir le traitant par défaut 2 Département R & T 3 [email protected] Commandes réseaux 1. A l’aide de la commande hostname afficher le nom symbolique de votre machine. Tenter de changer ce nom. Justifier le résultat obtenu. n’ayant pas le droit d’éditer le fichier /etc/hostname, la commande ne peut pas changer le nom de la machine 2. A l’aide de la commande ifconfig (qui se trouve dans le répertoire /sbin), relever l’adresse IP de l’interface réseau eth0 de votre machine et son adresse MAC. Communiquer votre adresse IP à vos voisins. /sbin/ifconfig eth0 n o i t 3. Utiliser la commande ping pour tester l’existence d’un chemin entre votre machine et la machine de votre voisin. Quelles sont les informations retournées par cette commande ? taux de pertes de paquets, temps d’aller-retours notamment 4. Utiliser ping pour tester l’accès à la machine www.google.fr. Comparer les résultats avec ceux obtenus dans la question précédente. 5. Tester l’accessibilité de la machine 11.11.10.1 ping 11.11.10.1 c e r r 6. A l’aide de la commande nslookup retrouver si possible les adresses IP des trois machines : www.univ-paris13.fr, www.sncf.fr et attila.hunnique.cn Non-authoritative answer: Name: www.univ-paris13.fr Address: 194.254.164.240 o C Non-authoritative answer: www.google.fr canonical name = www.google.com. www.google.com canonical name = www.l.google.com. Name: www.l.google.com Address: 74.125.39.106 Name: www.l.google.com Address: 74.125.39.147 Name: www.l.google.com Address: 74.125.39.103 Name: www.l.google.com Address: 74.125.39.99 Name: www.l.google.com Address: 74.125.39.104 Name: www.l.google.com Address: 74.125.39.105 * server can’t find attila.hunnique.cn: NXDOMAIN 7. Utiliser la commande ssh votre_login@adresse_IP_de_votre_voisin pour se connecter à la machine de votre voisin. Une fois vous êtes connecté à la machine de votre voisin, exécuter la commande who. Expliquer le résultat obtenu. plusieurs utilisateurs connectés à la même machine 3 Département R & T [email protected] 8. Dans le shell de votre connexion à la machine de votre voisin, taper la command hostname. Justifier le résultat obtenu. on obtient bien sür le nom de la machine du voisin n o i t c e r r o C 4