abdelilah dahou G1
abdelilah dahou G1
abdelilah dahou G1
Abdelilah dahou G1
Exercice 1
1. Le cycle de vie de base d'un processus est représenté dans la figure suivante :
2. Oui, tout processus dans le système Linux a un processus parent, à l'excep on du processus ini al qui a
un PID de 1.
3. Le processus de PID 1 est appelé init. Vous pouvez l'afficher en u lisant les op ons "lax" de la
commande "ps" : "ps lax | grep 1".
4. Pour afficher la liste des processus associés à votre terminal en u lisant l'op on -f de la commande
"ps", vous pouvez exécuter la commande suivante : "ps -f".
- La commande "top" affiche une vue en temps réel des processus en cours d'exécu on et fournit des
informa ons mises à jour régulièrement.
6. Les différences entre les commandes "fg" et "bg" sont les suivantes :
- fork() : crée un nouveau processus en copiant le processus existant. Le nouveau processus est appelé
processus fils.
- exec() : remplace le processus courant par un nouveau processus. Il est u lisé pour exécuter un
programme dans un processus.
8. Les commandes wait et nice ont les fonc ons suivantes :
- wait : met le processus en a ente jusqu'à ce que l'un de ses processus fils se termine.
- nice : ajuste la priorité d'un processus en lui a ribuant une valeur de priorité différente.
- crontab : permet de gérer les tâches planifiées (cron jobs) en u lisant un fichier de configura on
appelé crontab.
Exercice 2 :
1. Le nombre de processus affichés par la commande "ps" après l'ouverture du terminal dépend du
système d'exploita on et des processus en cours d'exécu on. Pour voir tous les processus au démarrage,
vous pouvez u liser la commande "ps -e".
2. Pour afficher le manuel (man) de la commande "ps" et suspendre le processus, vous pouvez exécuter
la commande suivante : "man ps".
3. Après avoir suspendu le processus, la commande "ps" affichera un processus supplémentaire, qui est
le processus "man" suspendu.
4. La commande "jobs" affichera les processus en arrière-plan (background jobs) associés au terminal.
5. Pour voir le PID du/des job(s) avec la commande "jobs -l", vous pouvez exécuter la commande suivante
: "jobs -l".
7. Vous pouvez vérifier avec la commande "jobs" que le processus "man" est bien arrêté.
Exercice 3 :
1. En tapant la commande "top", vous pouvez afficher les informa ons sur les processus en cours
d'exécu on. Dans la fenêtre où vous avez lancé "top", vous pouvez généralement exécuter une nouvelle
commande.
2. En tapant "Ctrl-z" dans la fenêtre où "top" a été lancé, le processus "top" sera suspendu. La commande
"jobs" indiquera qu'il y a un processus suspendu.
3. En tapant la commande "fg", le processus "top" sera ramené en avant-plan. Ensuite, vous pouvez à
nouveau suspendre le processus en tapant "Ctrl-z".
4. En tapant la commande "bg", le processus "top"sera mis en arrière-plan et con nuera à s'exécuter.
Vous pouvez ensuite exécuter une nouvelle commande dans la fenêtre.
5. Si vous lancez à nouveau un processus "top" et le suspendez, la commande "jobs" indiquera qu'il y a
deux processus suspendus.
6. La commande "kill -9 %1" provoque la suppression forcée (kill) du processus en arrière-plan numéro 1.
Le processus affecté dépendra du numéro spécifique du processus en arrière-plan.
7. Pour trouver les PID de vos processus à l'aide de la commande "ps", vous pouvez exécuter la
commande suivante : "ps -e | grep <votre_u lisateur>". Cela affichera tous les processus associés à votre
u lisateur, avec leurs PID respec fs.
8. En exécutant la commande "ps -f", vous ob endrez une sor e plus détaillée de la commande "ps",
avec des informa ons supplémentaires sur les processus.
9. Pour tester la commande "ps -af", vous pouvez l'exécuter directement dans le terminal. Cela affichera
tous les processus du système, avec une sor e formatée.
10. Lorsque vous essayez de tuer un processus d'un autre u lisateur avec la commande "kill -9 pid", vous
ob endrez généralement un message d'erreur indiquant que vous n'avez pas les permissions requises
pour tuer le processus.
11. En lançant la commande "top&", le processus "top" sera exécuté en arrière-plan, ce qui vous
perme ra de demander l'exécu on d'une autre commande dans la fenêtre.
12. Pour passer le processus en avant-plan avec la commande "fg", vous pouvez exécuter "fg %1" (où 1
est le numéro du job en arrière-plan).
13. Pour passer à nouveau le processus "top" en arrière-plan avec la commande "bg", vous pouvez
exécuter "bg %1" (où 1 est le numéro du job en avant-plan).
Exercice 4 :
(c) 15 3 * * 1 ls /usr/bin
e) 30 7 * * 1-5 ls -l /home/user1 (
(b) À 2h30 les 1er et 15 du mois, copie le fichier "tp1/exo1" vers "tp2".
(c) À 3h15 tous les jours de la semaine, affiche la liste des fichiers dans le répertoire "/usr/bin" en
u lisant la commande "ls".
(d) À 15 minutes de chaque heure, crée un répertoire appelé "cours" en u lisant la commande
"mkdir".
(e) À 7h30 les jours de la semaine (du lundi au vendredi), affiche les détails (permissions, propriétaire,
etc.) des fichiers dans le répertoire "/home/user1" en u lisant la commande "ls -l".
(f) À 2h00 le 1er de chaque mois, recherche tous les fichiers dans le répertoire "/etc" en u lisant la
commande "find".
2. La commande suivante, u lisée avec le programme "at", planifie la copie du fichier "tp2/exo1" vers
"tp3" à midi :
at noon
[Ctrl+D]
Ce e commande ajoute une tâche à exécuter à midi. La commande "cp tp2/exo1 tp3" copiera le fichier
"tp2/exo1" vers "tp3".
3. Pour que l'u lisateur user1 supprime le répertoire "Unix" le lundi à 14h30, il peut u liser la commande
suivante :
30 14 * * 1 rm -r Unix
Ce e ligne doit être ajoutée au fichier crontab de l'u lisateur user1. Elle indique que tous les lundis à
14h30, la commande "rm -r Unix" sera exécutée pour supprimer récursivement le répertoire "Unix".
0 17 * * 5 /bin/traitement
0 17 */2 * * /bin/traitement
Ces lignes spécifient les moments auxquels le fichier "/bin/traitement" sera exécuté selon les condi ons
indiquées.