Académique Documents
Professionnel Documents
Culture Documents
TP2
TP1- Les
- Processus avec Linux
Les processus Linuxet C
Exercice 1
1. Utiliser les commandes Linux ps et wc pour afficher le nombre
de tous les processus qui tournent sur votre machine.
2. Afficher les PIDs des processus bash lancés par les
utilisateurs.
3. Afficher tous processus lancés par l'utilisateur root. Pour
chacun des processus, vous devez afficher les colonnes PID,
PPID et STIME.
4. Utiliser les commandes ps et head pour afficher la liste des 5
processus les plus gourmands en CPU.
5. Utiliser les commandes ps et head pour afficher la liste des 5
processus qui occupent le plus de mémoire.
6. Afficher juste les processus en cours d’exécution
7. Affichez la liste des processus dont vous êtes propriétaire.
8. Utiliser le ? pour voir l’aide concernant top, Quelle est
l’utilité de f, o, F, u, k, r et q ?
9. Ajouter le champ PPID à l’affichage de top puis retirer-le
10. Modifier la disposition des champs affichez par top ?
11. Triez le résultat de top par PID ?
12. Afficher l’activité des processus d’un seul utilisateur ?
13. Combien de cœurs dispose le processeur de votre machine.
14. Quelle est la version de Linux installé sur votre
machine ?
15. Quelle est la taille de mémoire physique de votre
ordinateur ?
16. Afficher les processus attachés à votre terminal tout en
affichant le nom de l’utilisateur.
Exercice 2
Soit le programme suivant :
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
int main (){
pid_t pid ;
printf("Je suis le processus %d\n", getpid());
sleep(10);
printf("Appel de fork.\n");
pid = fork();
printf("fork() retourne %d\n", pid);
sleep(10);
return 0;
}
1. Enregistrez le programme sous le nom fork1.c, compilez et
exécutez. Que retourne fork ?
2. Exécutez le programme, ouvrez un second terminal et exécuter la
commande ps -a, une fois avant l'appel de fork et une autre
fois après appel de fork. Remarquez que fork duplique le
processus.
1
Université d’Oran 1 Ahmed Ben Bella Année universitaire : 2017-2018
Faculté des sciences exactes et appliquées
Département d’informatique
Licence L3-S5 Informatique
Exercice 3
Écrire un programme C dans lequel le processus crée un fils,
affiche son PID et le PID du processus fils créé, s'endort
pendant 30 secondes (sleep(30)) et se termine (exit(0)). Le
processus fils affiche son PID, appelle la fonction
executerQuelqueChose(), affiche son PID et se termine.
Exercice 4
Pour chacun des programmes C suivants, dites combien de "Hello!"
sont affichés à l'écran et combien de processus sont créés. Dessiner
dans la partie droite du tableau l'arborescence des processus créés.
Prog1:
int main() {
printf ("Hello!\n");
return 0;
}
Prog2:
int main() {
printf ("Hello!\n");
fork();
return 0;
}
Prog3:
int main() {
fork();
printf ("Hello!\n");
return 0;
}
2
Université d’Oran 1 Ahmed Ben Bella Année universitaire : 2017-2018
Faculté des sciences exactes et appliquées
Département d’informatique
Licence L3-S5 Informatique
Prog4:
int main() {
fork();
fork();
printf ("Hello!\n");
return 0;
}
Prog6:
for (i = 1; i <= 2; i++) {
pid = fork();
if (pid == 0)
break; /* Fin de la
boucle for */
else
printf("Hello!\n");
}
Exercice
Écrire un programme C dans lequel le processus crée un processus
fils.