Ecrire un programme qui va prendre en argument le nom d’un commande et
va l’executer par la primitive exec. Si la commande n’existe pas, le
programme affichera une erreur et renverra un code de retour
différent de 0.
Exercice 2 :
Ecrire un programme qui va se cloner par l’appel système fork().
Le père et le fils resteront bloqués dans une boucle
infinie. A l’intérieur de cette boucle, les deux processus
afficheront leur PID, leur PPID et attendront une seconde.
Dans une autre fenêtre regarder le résultat de la commande
ps.
Exercice 3 :
Ecrire un programme qui va prendre en argument le nombre de fois ou le
processus doit se cloner par l’appel système fork(). Le
père va créer les n fils immédiatement et
attendera
la mort de tous ses fils. Chacun des fils affichera son pid et attendra
n*10 secondes avant de mourir. Le père affichera à chaque
fois le pid du fils qui vient de mourir.
Exercice 4 :
Le but de ce programme est de commencer à écrire un
mini-shell que vous pourrez améliorer par la suite. Le programme
demandera donc a l’utilisateur de saisir une commande et
l’exécutera par un appel a la primitive exec (via un appel
systeme fork). Pour le moment, on ne tiendra pas compte des
paramètres des commandes, ni l’exécution en
arrière
plan.
Vous allez écrire un programme C qui calcule la racine
carré d’un nombre saisie par l’utilisateur, pour cela vous
devrez
utiliser la fonction sqrt() de la librairie math.
1 – Compilez normalement ce programme en incluant la librairie et
constater son bon fonctionnement.
2 – Compilez à nouveau ce programme mais cette fois ci en
incluant les librairies de façon statiques, constater à
nouveau le bon fonctionnement du programme et comparez la taille de
l’exécutable avec le précédent.