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