23 lines
572 B
Ruby
23 lines
572 B
Ruby
|
#!/usr/bin/ruby -w
|
||
|
|
||
|
# utilisation d'un tube entre 2 processus
|
||
|
|
||
|
rd, wr = IO.pipe # creation d'un tube avec 2 descripteurs pour lect/ecri
|
||
|
|
||
|
if fork # le pere ferme le desc. pour ecrire dans le tube
|
||
|
wr.close
|
||
|
ch=rd.read # est bloque tant que rien dans le tube
|
||
|
puts "message recu par le Pere : " + ch
|
||
|
rd.close
|
||
|
Process.wait # on attend la fin du fils
|
||
|
puts "le pere termine"
|
||
|
|
||
|
else # le fils
|
||
|
rd.close # ferme tube en lecture
|
||
|
puts "envoi d'un message "
|
||
|
wr.write "ceci est un test"
|
||
|
puts "le fils termine dans 2 secondes"
|
||
|
sleep 2
|
||
|
wr.close
|
||
|
end
|