0% ont trouvé ce document utile (0 vote)
5 vues4 pages

abdelilah dahou G1

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1/ 4

TP 4 : Ges on des processus

Abdelilah dahou G1
Exercice 1

1. Le cycle de vie de base d'un processus est représenté dans la figure suivante :

 Création : Le processus est créé et initialisé.


 Prêt : Le processus est prêt à s'exécuter mais attend d'être choisi par le planificateur pour
obtenir un temps d'exécution.
 En cours d'exécution : Le processus est en cours d'exécution sur le processeur.
 Terminé : Le processus a terminé son exécution ou a été arrêté.

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".

Les colonnes PID et PPID correspondent respec vement à :

- PID : iden fiant du processus (Process ID).

- PPID : iden fiant du processus parent (Parent Process ID).

5. La différence entre les commandes "ps" et "top" est la suivante :

- La commande "ps" affiche un instantané des processus en cours d'exécu on.

- 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 :

- La commande "fg" permet de ramener un processus en avant-plan (foreground) et de le rendre ac f.

- La commande "bg" permet de me re un processus en arrière-plan (background) et de le rendre


inac f.

7. Les fonc ons fork() et exec() effectuent les tâches 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.

9. Les commandes at et crontab ont les fonc ons suivantes :

- at : permet de planifier l'exécu on d'une commande à un moment précis.

- 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".

6. Pour arrêter le processus "man", vous pouvez u liser la commande "Ctrl+C".

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 :

1. Les lignes crontab ci-dessous effectuent les ac ons suivantes :

(a) 0 0 1,15 * * cat file1.txt

(b) 30 2 1,15 * * cp tp1/exo1 tp2

(c) 15 3 * * 1 ls /usr/bin

(d) 15 * * * * mkdir cours (

e) 30 7 * * 1-5 ls -l /home/user1 (

f) 0 2 1 * * find /etc -type f


(a) À minuit (0h00) les 1er et 15 du mois, affiche le contenu du fichier "file1.txt" en u lisant la
commande "cat".

(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

at> cp tp2/exo1 tp3

[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".

4. Pour exécuter le fichier "/bin/traitement" selon les condi ons spécifiées :

- Le vendredi à 17h00 (Friday) : Ajoutez la ligne suivante au fichier crontab :

0 17 * * 5 /bin/traitement

- La semaine prochaine au même moment : Ajoutez la ligne suivante au fichier crontab :

0 17 * * * sleep 7d && /bin/traitement

- Deux jours plus tard : Ajoutez la ligne suivante au fichier crontab :

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.

Vous aimerez peut-être aussi