Processus linux et script shell, exercice

Fermé
bernard - 8 févr. 2010 à 22:14
 bernard - 8 févr. 2010 à 22:40
Bonsoir à vous, j'ai un petit exercice sur les processus que j'ai travaillé et je souhaiterais vous montrer mes résultats s'il vous plait et avoir votre avis, il est très court. Soient les 2 scripts suivants :

echo Debut pere
./fils.sh &
for i in 1 2
do
echo Pere $i
sleep 1
done
echo Fin pere


echo Debut fils
for i in a b c
do
echo fils $i
sleep 1
done
echo Fin fils

1) Donner l'affichage produit par la commande suivante : ./pere.sh. Je trouve donc :

./pere.sh
Debut pere
Pere 1
Debut fils
fils a
Pere 2
fils b
Fin pere
bernard@machine:~$ fils c
Fin fils

2) Identifier les états (élu,prêt,endormi) par lesquels passent les processsus pere.sh , fils.sh et shell lors de l'exécution de la commande .pere.sh .

Alors j'ai pour cela crée un tableau , 1ere colonne c'est pere, seconde colonne c'est fils et 3eme colonne c'est shell. Chaque ligne correspond à un affichage des scripts : debut pere , pere 1 , debut fils... Voici mes réponses :

pere fils shell

elu endormi elu
elu pret elu
pret elu elu
pret elu elu
elu pret elu
pret elu elu
elu pret elu
endormi elu elu
endormi elu pret

Pour résumer, les processus pere et fils sont tjs elu ou prêt sauf pour la 1ere et la dernière ligne, car en fait fils est lancé en arrière plan donc il n'a pas besoin d'attendre que pere se soit terminé pour s'éxécuter. La seule chose qui me trouble c'est pourquoi le shell ne reprend pas la main à la fin avec le prompt?

Je vous remercie pour votre soutien.
A voir également:

1 réponse

en fait une question me vient svt à l'esprit : lorsque je lance ./pere.sh, le processus shell est élu ou juste prêt à s'éxécuter lorsque les affichages se produisent?
0