Farid Hajji: Perl - Einführung, Anwendungen, Referenz
2., aktualisierte und erweiterte Auflage
Addison-Wesley Longman, ISBN 3-8273-1535-2
pipe-bi.pl
#!/usr/local/bin/perl -w
# pipe-bi.pl -- Bidirektionale Pipes Eltern <=> Kind
# Perl-Pipes anlegen
pipe EKL, EKS; # (E)ltern->(K)ind (L)esen und (S)chreiben
pipe KEL, KES; # (K)ind->(E)ltern (L)esen und (S)chreiben
# Pufferung auf Schreibhandles ausschalten!
$oh = select(EKS); $|=1; select($oh);
$oh = select(KES); $|=1; select($oh);
if (fork()) {
# Elternprozess schreibt erst und liest dann.
close(EKL); close(KES); # Nicht benoetigte Enden schliessen
print EKS "All Right?\n"; # erst zum Kind schreiben
$answer = <KEL>; # dann vom Kind lesen
print "Parent: Child's reply ($answer)\n";
wait(); # Warte auf Tod des Kindes
} else {
# Kindprozess liest erst und schreibt dann.
close(EKS); close(KEL); # Nicht benoetigte Enden schliessen
chomp($query = <EKL>); # erst von Eltern lesen
print KES "Child: ($query): Sure!"; # dann Antwort schreiben
exit(0); # Kind tot
}
print "Parent: Leaving...\n";
[Prev] [Up] [Relevant Chapter] [Next]
[Alte Quelle]
| Last modified: $Date: 2006/05/18 12:56:02 $ FH. Search :: Sitemap :: Disclaimer :: Copyright :: Privacy |
|