Beruflich Dokumente
Kultur Dokumente
Principes et smantique
API de cration, contrle
Exemple complet
Flux doctets vs. Messages
Exemple de redirection : mise en uvre du | shell
Synchronisations :
proc. n4
proc. n1
tube unidirectionnel
proc. n2
proc. n5
extrmit
de lecture
proc. n3
lecteurs
extrmit
dcriture
proc. n7
crivainsrelecteurs
proc. n6
crivains
1) pipe ( fd )
processus pre
processus fils
2) fork ( )
fd[0]
fd[1]
fd[1]
lecteur
et/ou
crivain
lecteur
et/ou
crivain
potentiel
potentiel
lecture
tube
extrmit de
extrmit
dcriture
processus fils
close ( fd[0] )
close ( fd[1] )
fd[0]
fd[0]
fd[1]
fd[1]
crivain
lecteur
Fermeture du tube
extrmit de lecture
tube
extrmit
dcriture
pre :
close ( fd[0] )
fils :
fd[1]
extrmit dcriture
tube
fd[0]
extrmit de lecture
close ( fd[1] )
processus pre
processus fils
close ( fd[1] )
close ( fd[0] )
fd[0]
fd[0]
fd[1]
fd[1]
crivain
lecteur
tube
extrmit de lecture
extrmit dcriture
crivain
pre :
fils :
fd[0]
close ( fd[1] )
extrmit de lecture
tube
fd[1]
extrmit dcriture
close ( fd[0] )
1) pipe ( fd )
processus fils 1
2) fork ( )
3) fork ( )
fd[0]
fd[0]
fd[1]
fd[1]
lecteur
et/ou
crivain
lecteur
et/ou
crivain
potentiel
potentiel
tube
extrmit dcriture
extrmit de lecture
lecteur
et/ou
crivain
processus fils 2
potentiel
fd[1]
processus fils 1
close ( fd[0] )
fd[0]
close ( fd[1] )
fd[0]
fd[1]
crivain
fd[1]
lecteur
extrmit de lecture
tube
extrmit dcriture
processus fils 2
close ( fd[1] )
fd[0]
lecteur
fd[1]
lecteurs
fils 1 :
fd[0]
crivain
pre :
close ( fd[0] )
fd[1]
extrmit dcriture
tube
close ( fd[1] )
extrmits de lecture
fils 2 :
fd[0]
close ( fd[1] )
2 reads:
lecture du message complet
pas forcment atomique
processus pre
producteur
tube unidirectionnel
cre un tube et
pageur
lit sur STDIN et
un fils
crit sur STDOUT
redirection STDIN
sur fd[0]
Considre que
STDOUT est
redirige vers
extrmit
criture du
tube
Consommateur: pageur
Lit sur STDIN, redirige sur extrmit lecture tube
popen en w , write
pre
fils
Commande shell
tube
lit des donnes
fprintf(f,"fmt", donnes)
redirection STDIN
sur STDIN
sur fd [ 0 ]
popen en r , read
pre
tube
fils
Commande shell
sur STDOUT
sur fd [ 1 ]
pclose du pre
Le pre va tre bloqu jusqu la fin de son fils
(wait)
Seuls modes
autoriss en
ouverture pour un
FIFO