Newsgroups: fj.lang.perl
Path: galaxy.trc.rwcp.or.jp!jaist-news!cs.titech!wnoc-tyo-news!scslwide!socslgw!daemon
From: kono@csl.sony.co.jp (Shinji Kono)
Subject: Re: Q about pipe & fork command
Message-ID: <1993Nov1.082839.8313@nntp.csl.sony.co.jp>
Sender: daemon@nntp.csl.sony.co.jp (The devil himself)
Reply-To: kono@csl.sony.co.jp
Organization: Sony Computer Science Laboratory, Inc.
References: <KONDOU.93Nov1141936@babel.tulips.tsukuba.ac.jp>
Date: Mon, 1 Nov 1993 08:28:39 GMT
Lines: 25
Xref: galaxy.trc.rwcp.or.jp fj.lang.perl:224
X-originally-archived-at: http://galaxy.rwcp.or.jp/text/cgi-bin/newsarticle2?ng=fj.lang.perl&nb=224&hd=a
X-reformat-date: Mon, 18 Oct 2004 15:18:22 +0900
X-reformat-comment: Tabs were expanded into 4 column tabstops by the Galaxy's archiver. See http://katsu.watanabe.name/ancientfj/galaxy-format.html for more info.

$B2OLn(B@CSL.Sony$B$G$9!#(B
In article <KONDOU.93Nov1141936@babel.tulips.tsukuba.ac.jp> , 
kondou@tulips.tsukuba.ac.jp (Tsutomu KONDOU) writes 
>$B!V(Bopen $B$G$O!"5/F0$7$?%3%^%s%I$NF~NO$H=PNO$NN>J}$r%Q%$%W$KO"(B
>$B7k$9$k$3$H$O$G$-$J$$$,!"$3$l$O(B pipe $B$H(B fork $B%3%^%s%I$r;H$($P(B
>$B4JC1$K<B8=$G$-$k!W(B

pipe$B$H(Bsocketpair$B$OF1$8$b$N$J$s$G!"(B

socketpair(PIPE,PIPE1,&AF_UNIX,&SOCK_STREAM,undef) 
               || &die("socketpair error");
if(! ($program=fork())) {
         close(STDIN); open(STDIN, "<&PIPE1") || die("can't duplicate tty");
         close(STDOUT);open(STDOUT,">&PIPE1") || die("can't duplicate tty");
         system "$program";
         exit 0; #
}

$B$H$+KM$O$7$F$^$9!#$3$l$G(B PIPE $B$KFI$_=q$-$9$k$3$H$G(B $program $B$NF~NO(B
$B=PNO$r9T$J$&$3$H$,$G$-$^$9!#$G$b!"(BPIPE$B$,$D$^$i$J$$$h$&$K$9$k$N$O(B
$BFq$7$$!#(B

---
Shinji Kono @           kono@csl.sony.co.jp
$B2OLn??<#(B Sony Computer Science Laboratory, Inc,Japan
