[Feature #3513] spawn ..., err: nil

Feature #3513: spawn …, err: nil
http://redmine.ruby-lang.org/issues/show/3513

e$B5/I<<Te(B: Shyouhei U.
e$B%9%F!<%?%9e(B: Assigned, e$BM%@hEYe(B: Normal
e$BC4Ev<Te(B: Akira T., e$B%+%F%4%je(B: core

spawne$B$N%j%@%$%l%/%H;XDj$Ke(Bnile$B$r5v$9$h$&$K$7$^$;$s$+!#e(B
e$BGX7J$+$i@bL@$9$k$H%5%V%W%m%;%9$NI8=`%(%i!<=PNO$rL[$i$;$h$&$H$7$Fe(B

STDOUT.reopen IO.popen([‘lzma’, out:STDOUT, err:nil], ‘w’)

e$B$J$I$H$7$F$b$&$^$/$$$+$J$$$H$$$&$N$r7P83$7$^$7$?e(B(e$B@52r$Oe(B …,
err: :close)e$B!#e(BRubye$B$Ge(B
e$B$O$J$K$b$J$$$h$H$$$&0UL#$Ge(Bnile$B$r;H$&$3$H$,B?$$$N$G!"e(Bnile$B$N;XDj$GJD$8$k$H$$$&$N$OAGe(B
e$BD>$J?dO@$G$O$J$$$+$H;W$$$^$9!#$I$&$G$7$g$&!#e(B

2010e$BG/e(B7e$B7ne(B1e$BF|e(B19:09 Shyouhei U.
[email protected]:

spawne$B$N%j%@%$%l%/%H;XDj$Ke(Bnile$B$r5v$9$h$&$K$7$^$;$s$+!#e(B
e$BGX7J$+$i@bL@$9$k$H%5%V%W%m%;%9$NI8=`%(%i!<=PNO$rL[$i$;$h$&$H$7$Fe(B

STDOUT.reopen IO.popen([‘lzma’, out:STDOUT, err:nil], ‘w’)

e$B$J$I$H$7$F$b$&$^$/$$$+$J$$$H$$$&$N$r7P83$7$^$7$?e(B(e$B@52r$Oe(B …, err: :close)e$B!#e(BRubye$B$Ge(B
e$B$O$J$K$b$J$$$h$H$$$&0UL#$Ge(Bnile$B$r;H$&$3$H$,B?$$$N$G!"e(Bnile$B$N;XDj$GJD$8$k$H$$$&$N$OAGe(B
e$BD>$J?dO@$G$O$J$$$+$H;W$$$^$9!#$I$&$G$7$g$&!#e(B

e$B$^$:!“I8=`%(%i!<=PNO$rL[$i$;$k$N$Ke(B close
e$B$9$k$N$ONI$$J}K!$G$O$J$$$G$7$g$&!#e(B
close e$B$9$k$H!”=PNO$,5/$-$?$H$-$K%(%i!<$K$J$k$+$b$7$l$^$;$s!#e(B
e$B$^$?!“$J$K$+B>$N%U%!%$%k$,e(B 2e$BHV$H$$$&e(B fd
e$B$K3d$jEv$F$i$l$F$$$?$i$=$3$Ke(B
e$B=PNO$5$l$F$7$^$&$+$b$7$l$^$;$s!#e(B
e$B$?$H$($P%G!<%?%Y!<%9$,3d$jEv$F$i$l$F$$$F!”%G!<%?%Y!<%9$,2u$l$?$j$7$?$ie(B
e$BL$bEv$F$i$l$^$;$s!#e(B

e$B$G$OE,@Z$JJ}K!$O!“$H$$$&$H!“e(Berr:”/dev/null”
e$B$J$I$H%j%@%$%l%/%H$9$k$3$H$G$9!#e(B
(Unix e$B$G$Oe(B)

e$B$D$^$j!“$3$3$G$”$2$i$l$?MQK!$O!“$*$9$9$a$G$-$k$d$j$+$?$G$O$J$/!“e(B
e$B$3$NMWK>$r;Y;}$9$k:,5r$H$7$F$OITE,@Z$G$9!#e(B
e$B@bF@NO$N$”$kDs0F$K$9$k$?$a$K$O!”$b$C$H$h$$MQK!$,I,MW$G$7$g$&!#e(B

e$B$J$*!“e(Bnil e$B$N;XDj$O8=:_!”;XDj$7$J$$$N$HF1Ey$G$9!#e(B
e$B$3$l$O$3$l$Ge(B Ruby
e$B$G$O$h$/$“$k2r<a$G$”$j!"AGD>$J$b$N$@$H;W$$$^$9!#e(B

2010e$BG/e(B7e$B7ne(B2e$BF|e(B5:58 Tanaka A. [email protected]:

e$B$J$*!“e(Bnil e$B$N;XDj$O8=:_!”;XDj$7$J$$$N$HF1Ey$G$9!#e(B
e$B$3$l$O$3$l$Ge(B Ruby e$B$G$O$h$/$“$k2r<a$G$”$j!"AGD>$J$b$N$@$H;W$$$^$9!#e(B

e$B$$C$H$3$3$O40c$$$G$7$?!#e(B

e$BKNIt$G$9!#e(B

e$B$^$:!“I8=`%(%i!<=PNO$rL[$i$;$k$N$Ke(B close e$B$9$k$N$ONI$$J}K!$G$O$J$$$G$7$g$&!#e(B
close e$B$9$k$H!”=PNO$,5/$-$?$H$-$K%(%i!<$K$J$k$+$b$7$l$^$;$s!#e(B
e$B$^$?!"$J$K$+B>$N%U%!%$%k$,e(B 2e$BHV$H$$$&e(B fd e$B$K3d$jEv$F$i$l$F$$$?$i$=$3$Ke(B
e$B=PNO$5$l$F$7$^$&$+$b$7$l$^$;$s!#e(B
e$B$?$H$($P%G!<%?%Y!<%9$,3d$jEv$F$i$l$F$$$F!"%G!<%?%Y!<%9$,2u$l$?$j$7$?$ie(B
e$BL$bEv$F$i$l$^$;$s!#e(B

e$BG$0U$N>u67$G>o$Ke(Bstderre$B$rJD$8$h!"$H$$$&<gD%$KBP$9$kH?O@$H$7$F$O!“BEEv$J$b$N$@$He(B
e$B;W$$$^$9!#$7$+$7!”;d$N$d$j$?$+$C$?%1!<%9e(B(lzma)e$B$G$O>e5-$N?4G[$O$"$j$^$;$s!#e(B

DBe$B$J$I$r;H$o$J$$>l9g$G$be(Bstderre$B$rJD$8$k$N$O0-$$9T0Y$@$H;W$$$^$9$+e(B?e$B$@$H$7$?$i$Je(B
e$B$<$=$l$Oe(Bspawne$B$G$O2DG=$K$J$C$F$$$k$N$G$9$+e(B?

e$B;d$N<gD%$Oe(B:closee$B$N0LCV$Ke(Bnile$B$b<u$1IU$1$FM_$7$$$H$$$&$@$1$G$9$N$G!"e(Bstderre$B$rJD$8e(B
e$B$k$3$H$N@'Hs$H$OFHN)$7$?OC$N$O$:$G$9!#e(B

e$B$G$OE,@Z$JJ}K!$O!"$H$$$&$H!“e(Berr:”/dev/null" e$B$J$I$H%j%@%$%l%/%H$9$k$3$H$G$9!#e(B
(Unix e$B$G$Oe(B)

e$B$=$l$O0?"@-$,$"$j$^$;$s!#$;$C$+$/e(Bspawne$B;H$C$F$k$N$K!#e(B

e$B$5$i$KGX7J$r@bL@$9$k$H!"$/$@$s$N%9%/%j%W%H$,F0$/4D6-$K$Oe(B/dev/nulle$B$,$"$j$^$;e(B
e$B$s!#e(BLinuxe$B$G$9$,%-%c%i%/%?%G%P%$%9$X$N%"%/%;%9$,e(B(cgroupe$B$Ge(B)e$B6X;_$5$l$F$$$^$9!#e(B

e$B8e3X$N$?$a$K65$($F$/$@$5$$e(B

e$B$G$OE,@Z$JJ}K!$O!"$H$$$&$H!“e(Berr:”/dev/null" e$B$J$I$H%j%@%$%l%/%H$9$k$3$H$G$9!#e(B
(Unix e$B$G$Oe(B)

e$B$=$l$O0?"@-$,$"$j$^$;$s!#$;$C$+$/e(Bspawne$B;H$C$F$k$N$K!#e(B

e$B$5$i$KGX7J$r@bL@$9$k$H!"$/$@$s$N%9%/%j%W%H$,F0$/4D6-$K$Oe(B/dev/nulle$B$,$"$j$^$;e(B
e$B$s!#e(BLinuxe$B$G$9$,%-%c%i%/%?%G%P%$%9$X$N%"%/%;%9$,e(B(cgroupe$B$Ge(B)e$B6X;_$5$l$F$$$^$9!#e(B

/dev/zeroe$B$de(B/dev/null
e$B$r%"%/%;%96X;_$9$k%a%j%C%H$,$"$^$jA[A|$G$-$J$+$C$?$N$G$9$,!“e(B
e$B$I$N$h$&$JLdBj$rA[Dj$5$l$F$$$^$9$G$7$g$&$+!)e(B
Linuxe$BB&$K5!G=ITB-$H$+$”$j$^$7$?$i!"$D$$$G$K;XE&$7$F$$$?$@$1$k$H$"$j$,$?$/e(B

e$B@9Bg$K%*%U%H%T%C%/$G$9e(B

(2010/07/02 21:19), KOSAKI Motohiro wrote:

/dev/zeroe$B$de(B/dev/null e$B$r%“%/%;%96X;_$9$k%a%j%C%H$,$”$^$jA[A|$G$-$J$+$C$?$N$G$9$,!“e(B
e$B$I$N$h$&$JLdBj$rA[Dj$5$l$F$$$^$9$G$7$g$&$+!)e(B
Linuxe$BB&$K5!G=ITB-$H$+$”$j$^$7$?$i!“$D$$$G$K;XE&$7$F$$$?$@$1$k$H$”$j$,$?$/e(B

e$B$3$N4D6-$O<B:]$K$Oe(Blxc(7) http://lxc.sf.net/
e$B$r;H$C$?%3%s%F%J$G$9!#e(Blxce$B$G$O@_Dje(B
e$B%U%!%$%k$K$h$j%G%P%$%9$X$N%“%/%;%9$r%G%P%$%9HV9fC10L$G@)8f$G$-$^$9$,!“5U$K$$$&e(B
e$B$H%G%P%$%9HV9f$rCN$i$J$$$3$H$K$O@)8f$G$-$^$;$s!#$,!”$H$b$+$/A4It$r5v$5$J$$$H$$e(B
e$B$&e(B(e$B$”$j$,$A$G$+$DJXMx$Je(B)e$B;XDj$@$1$O2DG=$G!“$3$l$O%G%P%$%9HV9f$K4X$9$kA0DsCN<1$re(B
e$B5a$a$J$$$N$G!”$H$j$"$($:;XDj$7$F$$/$H0BA4B&$KE]$l$F$h$$46$8$K$J$j$^$9!#FC$Ke(B
e$B%-%c%i%/%?%G%P%$%9$Ne(B1e$BHV$Oe(B/dev/kmeme$B$H$+$“$^$j?($C$F$[$7$/$J$$%G%P%$%9$b4^$^$l$Fe(B
e$B$$$k$N$G!”$^$k$4$H5qH]$7$F$
$$$?$[$&$,0B?4$J$N$G$9!#e(B

e$B$H$$$&$o$1$Ge(BLinuxe$B$N5!G=ITB-$H$$$&$h$j$Oe(Blxce$B$N@_Dj%U%!%$%k$N=q$-J}$NLdBj$J5$$,$7e(B
e$B$^$9!#e(B/dev/zeroe$B$de(B/dev/nulle$B!“e(B/dev/fulle$B$”$?$j$@$1$r8DJL$K5v2D$9$l$P$$$$$H$O;W$$e(B
e$B$^$9!#$a$s$I$&$@$+$i$7$F$J$$$H$$$&!#$7$+$7F1$8%-%c%i%/%?%G%P%$%9e(B1e$BHV7O$N$G$$$(e(B
e$B$P$?$H$($Pe(B/dev/urandome$B$“$?$j$O$I$&$J$N$+$J$”!#%(%s%H%m%T!<5[$o$l$A$c$&$N$C$F%3e(B
e$B%s%F%J$N30$N@$3&1F6AM?$($l$k$o$1$G$9$1$I!“$=$l$C$F%”%?%C%/$K$J$k$H;W$$$^$9e(B?
e$B$H$+8DJL$N8!F$$rA4It$N%G%P%$%9$KBP$7$F9T$&$N$O$=$l$J$j$KBgJQ$J5$$O$7$^$7$?!#e(B

2010e$BG/e(B7e$B7ne(B2e$BF|e(B21:52 Urabe S.
[email protected]:

e$B@9Bg$K%*%U%H%T%C%/$G$9e(B

e$B$3$l$OKM$,<U$k$Y$-$J$s$@$m$&$J$!!#$9$$$^$;$se(B

e$B$s!#e(BLinuxe$B$G$9$,%-%c%i%/%?%G%P%$%9$X$N%“%/%;%9$,e(B(cgroupe$B$Ge(B)e$B6X;_$5$l$F$$$^$9!#e(B
e$B%-%c%i%/%?%G%P%$%9$Ne(B1e$BHV$Oe(B/dev/kmeme$B$H$+$”$^$j?($C$F$[$7$/$J$$%G%P%$%9$b4^$^$l$Fe(B
e$B$$$k$N$G!"$^$k$4$H5qH]$7$F$*$$$?$[$&$,0B?4$J$N$G$9!#e(B

e$B$“$”!#$J$k$[$I!#e(B
e$B$G!"=*$o$C$F$7$^$&$H>pJsNL#0$J$N$G$A$g$C$H$@$1JdB-$9$k$H!"0J2<$N%U%!%$%k$Ge(B
e$B%+!<%M%k3+H/<T$,GD0.$7$F$$$kHO0O$N0lMw$,8+$l$^$9e(B

http://github.com/mirrors/linux-2.6/blob/master/Documentation/devices.txt

e$B$H$$$&$o$1$Ge(BLinuxe$B$N5!G=ITB-$H$$$&$h$j$Oe(Blxce$B$N@_Dj%U%!%$%k$N=q$-J}$NLdBj$J5$$,$7e(B
e$B$^$9!#e(B/dev/zeroe$B$de(B/dev/nulle$B!“e(B/dev/fulle$B$”$?$j$@$1$r8DJL$K5v2D$9$l$P$$$$$H$O;W$$e(B
e$B$^$9!#$a$s$I$&$@$+$i$7$F$J$$$H$$$&!#$7$+$7F1$8%-%c%i%/%?%G%P%$%9e(B1e$BHV7O$N$G$$$(e(B
e$B$P$?$H$($Pe(B/dev/urandome$B$“$?$j$O$I$&$J$N$+$J$”!#%(%s%H%m%T!<5[$o$l$A$c$&$N$C$F%3e(B
e$B%s%F%J$N30$N@$3&1F6AM?$($l$k$o$1$G$9$1$I!“$=$l$C$F%”%?%C%/$K$J$k$H;W$$$^$9e(B?

e$B$J$i$J$$$H;W$&!#e(Burandome$B$C$F0lHL%f!<%6$,%(%s%H%m%T!<5[$($k$1$I!"$=$l$,@H<e@-$Ne(B
e$B;XE&$r<u$1$?$H$$$&OC$O$$$^$N$H$3$mJ9$+$J$$e(B

e$B$H$+8DJL$N8!F$$rA4It$N%G%P%$%9$KBP$7$F9T$&$N$O$=$l$J$j$KBgJQ$J5$$O$7$^$7$?!#e(B

e$B$=$3$OF10U$7$^$9!#e(B
device cgroupe$B%^!<%8$9$k$H$-$b5DO@$7$?5$$,$9$k$7!#e(B
e$B$?$V$s!"e(Blxce$B$N%G%U%)%k%HCM$r$b$C$H%f!<%6%U%l%s%I%j!<$K$9$k$N$,8=<B2r$J5$$,$7$F$-$^$7$?!#e(B

(2010/07/02 22:31), Tanaka A. wrote:

e$B$7$?$,$C$F!"$3$NOC$Oe(B close e$B$9$k$3$H$r;H$$$d$9$/$7$h$&$H$$$&Ds0F$@$H2r<a$7$Fe(B
e$B$$$^$9!#e(B
e$B$=$7$F!";d$O;H$$$d$9$/$9$k$3$H$KBP$7$FH?BP$7$F$$$k$N$G$9!#e(B

e$B2r<a$r4V0c$C$F$$$^$9$+e(B?
e$B$b$74V0c$C$F$$$k$H$7$?$i!"$J$<$3$NDs0F$r$7$?$s$G$9$+e(B?

e$B$J$k$[$I!#;H$$$d$9$/$9$k$3$H$KH?BP$7$F$$i$l$k$N$G$9$+!#$D$^$je(B(e$B8=:$N$H$3$me(B)
nile$B$r<uIU$J$$$N$O:n$j9~$
$,B-$j$J$$$+$i$G$O$J$/!"@Q6KE
$K5!G=$r:o$C$?>uBV$J$Ne(B
e$B$G$9$Me(B?

e$B$G$"$l$Pe(Bnile$B$r;XDj$G$-$?$[$&$,$h$$@Q6KE*$JM}M3$rC5$7$FMh$$$H$$$&$N$OM}2r$G$-$^$9!#e(B

e$B<!$K9M$($i$l$kJ}K!$O!"%Q%$%W$r?7$7$/:n$C$FFI$_9~$_B&$re(B stderr e$B$K3d$jEv$F$ke(B
e$B$3$H$G$9$+$M!#e(B
e$B=q$-9~$_B&$O$9$0e(B close e$B$7$F!#e(B

e$B$A$g$C$He(B/dev/nulle$B$,$J$$$H$$$&$N$OFC<l$9$.$k$N$GK:$l$F$b$i$C$F9=$o$J$$$N$G$9e(B
e$B$,!"$$$:$l$K$;$h!Ve(Bstderre$B$rL[$i$;$?$$!W$H$$$&$N$O$o$j$H$"$j$,$A$JMW5a$G$"$k$O$:e(B
e$B$J$N$G!"$J$s$i$+$N;Y1g5!9=$OM_$7$$$G$9!#$?$H$($Pe(BWindowse$B$K$be(BNULe$B%G%P%$%9$,$"$k$ie(B
e$B$7$$$N$G!"$J$s$i$+$N$=$&$$$&%G%P%$%9$re(B(configuree$B$J$I$Ge(B)e$B8!=P$7$F;H$&$H$+!#e(B

2010e$BG/e(B7e$B7ne(B2e$BF|e(B13:47 Urabe S.
[email protected]:

e$B$^$:!“I8=`%(%i!<=PNO$rL[$i$;$k$N$Ke(B close e$B$9$k$N$ONI$$J}K!$G$O$J$$$G$7$g$&!#e(B
close e$B$9$k$H!”=PNO$,5/$-$?$H$-$K%(%i!<$K$J$k$+$b$7$l$^$;$s!#e(B
e$B$^$?!“$J$K$+B>$N%U%!%$%k$,e(B 2e$BHV$H$$$&e(B fd e$B$K3d$jEv$F$i$l$F$$$?$i$=$3$Ke(B
e$B=PNO$5$l$F$7$^$&$+$b$7$l$^$;$s!#e(B
e$B$?$H$($P%G!<%?%Y!<%9$,3d$jEv$F$i$l$F$$$F!”%G!<%?%Y!<%9$,2u$l$?$j$7$?$ie(B
e$BL$bEv$F$i$l$^$;$s!#e(B

e$BG$0U$N>u67$G>o$Ke(Bstderre$B$rJD$8$h!“$H$$$&<gD%$KBP$9$kH?O@$H$7$F$O!“BEEv$J$b$N$@$He(B
e$B;W$$$^$9!#$7$+$7!”;d$N$d$j$?$+$C$?%1!<%9e(B(lzma)e$B$G$O>e5-$N?4G[$O$”$j$^$;$s!#e(B

spawn e$B$Oe(B lzma
e$B$N$?$a$@$1$K%G%6%$%s$5$l$F$$$k$o$1$G$O$"$j$^$;$s!#e(B

DBe$B$J$I$r;H$o$J$$>l9g$G$be(Bstderre$B$rJD$8$k$N$O0-$$9T0Y$@$H;W$$$^$9$+e(B?e$B$@$H$7$?$i$Je(B
e$B$<$=$l$Oe(Bspawne$B$G$O2DG=$K$J$C$F$$$k$N$G$9$+e(B?

e$B$I$&$7$F$b$d$j$?$$>u67!&?M$K$ODs6!$9$k$?$a$G$9!#e(B

e$B$7$+$7!"$*$9$9$a$O$7$^$;$s!#e(B

e$B;d$N<gD%$Oe(B:closee$B$N0LCV$Ke(Bnile$B$b<u$1IU$1$FM_$7$$$H$$$&$@$1$G$9$N$G!"e(Bstderre$B$rJD$8e(B
e$B$k$3$H$N@'Hs$H$OFHN)$7$?OC$N$O$:$G$9!#e(B

e$B$$$$$(!#e(B

nil e$B$re(B close e$B$N0UL#$K$9$k$3$H$Oe(B close
e$B$9$k$3$H$r;H$$$d$9$/$7$^$9!#e(B
e$B$=$l$O$*$9$9$a$7$J$$$H$$$&0U?^$r<e$a$^$9!#e(B

e$B$=$b$=$b!“e(B:close
e$B$K$h$C$F:#$G$b2DG=$J$N$G$9$+$i!“2DG=!&IT2DG=$H$$$&E@$G$Oe(B
e$B8=>u$G$bLdBj$J$$$O$:$G$9!#e(B
e$B$7$?$,$C$F!”$3$NOC$Oe(B close
e$B$9$k$3$H$r;H$$$d$9$/$7$h$&$H$$$&Ds0F$@$H2r<a$7$Fe(B
e$B$$$^$9!#e(B
e$B$=$7$F!”;d$O;H$$$d$9$/$9$k$3$H$KBP$7$FH?BP$7$F$$$k$N$G$9!#e(B

e$B2r<a$r4V0c$C$F$$$^$9$+e(B?
e$B$b$74V0c$C$F$$$k$H$7$?$i!"$J$<$3$NDs0F$r$7$?$s$G$9$+e(B?

e$B$G$OE,@Z$JJ}K!$O!“$H$$$&$H!“e(Berr:”/dev/null” e$B$J$I$H%j%@%$%l%/%H$9$k$3$H$G$9!#e(B
(Unix e$B$G$Oe(B)

e$B$=$l$O0?“@-$,$”$j$^$;$s!#$;$C$+$/e(Bspawne$B;H$C$F$k$N$K!#e(B

e$B$5$i$KGX7J$r@bL@$9$k$H!“$/$@$s$N%9%/%j%W%H$,F0$/4D6-$K$Oe(B/dev/nulle$B$,$”$j$^$;e(B
e$B$s!#e(BLinuxe$B$G$9$,%-%c%i%/%?%G%P%$%9$X$N%"%/%;%9$,e(B(cgroupe$B$Ge(B)e$B6X;_$5$l$F$$$^$9!#e(B

e$B$($'!“;DG0$J$3$H$K0?”@-$,L5$$$N$OJ,$+$C$F$$$^$9!#e(B

e$B<!$K9M$($i$l$kJ}K!$O!"%Q%$%W$r?7$7$/:n$C$FFI$_9~$_B&$re(B stderr
e$B$K3d$jEv$F$ke(B
e$B$3$H$G$9$+$M!#e(B
e$B=q$-9~$_B&$O$9$0e(B close e$B$7$F!#e(B

2010e$BG/e(B7e$B7ne(B2e$BF|e(B22:51 Urabe S.
[email protected]:

e$B$J$k$[$I!#;H$$$d$9$/$9$k$3$H$KH?BP$7$F$$i$l$k$N$G$9$+!#$D$^$je(B(e$B8=:$N$H$3$me(B)
nile$B$r<uIU$J$$$N$O:n$j9~$
$,B-$j$J$$$+$i$G$O$J$/!"@Q6KE
$K5!G=$r:o$C$?>uBV$J$Ne(B
e$B$G$9$Me(B?

close e$B$9$k5!G=$re(B nil
e$B$K3d$jEv$F$k$3$H$r8!F$$7$?5-21$O$“$j$^$;$s!#e(B
fd
e$B$r$=$NHV9f$N$^$^7Q>5$5$;$k5!G=$r3d$jEv$F$k8!F$$O$7$?$3$H$,$”$j$^$9!#e(B

e$B$A$g$C$He(B/dev/nulle$B$,$J$$$H$$$&$N$OFC<l$9$.$k$N$GK:$l$F$b$i$C$F9=$o$J$$$N$G$9e(B
e$B$,!“$$$:$l$K$;$h!Ve(Bstderre$B$rL[$i$;$?$$!W$H$$$&$N$O$o$j$H$”$j$,$A$JMW5a$G$“$k$O$:e(B
e$B$J$N$G!”$J$s$i$+$N;Y1g5!9=$OM_$7$$$G$9!#$?$H$($Pe(BWindowse$B$K$be(BNULe$B%G%P%$%9$,$“$k$ie(B
e$B$7$$$N$G!”$J$s$i$+$N$=$&$$$&%G%P%$%9$re(B(configuree$B$J$I$Ge(B)e$B8!=P$7$F;H$&$H$+!#e(B

/dev/null e$B$de(B NUL e$B$H$$$&L>A0$rF@$kJ}K!$rDs6!$9$k$N$Oe(B
e$B$"$jF@$k$s$8$c$J$$$G$7$g$&$+!#e(B
spawn e$B$H$OFHN)$7$?5!G=$@$H;W$$$^$9$,!#e(B

e$B8!:w$9$k$He(B [ruby-talk:209452] e$B$N$h$&$JDs0F$b8+$D$+$j$^$9$7!“e(B
e$B$”$j$,$A$H$$$&$N$O$=$&$J$N$G$7$g$&!#e(B
e$B$&$^$/Ds0F$9$l$P<u$1F~$l$i$l$k2DG=@-$O$"$k$s$8$c$J$$$G$7$g$&$+!#e(B