# Zombie processes by drb tests

**URL:** <https://www.ruby-forum.com/t/zombie-processes-by-drb-tests/159658>\
**Category:** Development\
**Created:** [February 6, 2009, 7:11pm UTC](https://www.ruby-forum.com/t/zombie-processes-by-drb-tests/159658 "2009-02-06T19:11:17Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [February 6, 2009, 7:11pm UTC](https://www.ruby-forum.com/t/zombie-processes-by-drb-tests/159658/1 "2009-02-06T19:11:17Z")

</div>

OpenBSD e$B$G!"e(Btest-all e$B$r$9$k$H!“e(Bdrb  
e$B$N$H$3$m$G!”%F%9%H$Ke(B 100  
e$BIC$+$+$C$F%(%i!\<$K$J$k$H$$$&$N$,5/$-$^$9!#e(B

…  
TestDRbSafe1#test\_05\_break: 1.12 s: .  
TestDRbSafe1#test\_06\_next: sh: cannot fork - try again  
100.01 s: E  
TestDRbSafe1#test\_07\_break\_18: 100.00 s: E  
TestDRbUNIXAry#test\_01: 100.00 s: E  
TestDRbUNIXAry#test\_02\_collect: 100.00 s: E  
TestDRbUNIXAry#test\_03\_redo: 100.00 s: E  
TestDRbUNIXAry#test\_05\_break: 100.01 s: E  
TestDRbUNIXAry#test\_06\_next: 100.00 s: E  
TestDRbUNIXAry#test\_07\_break\_18: 100.00 s: E  
TestDRbUNIXCore#test\_00\_DRbObject: 100.00 s: E  
TestDRbUNIXCore#test\_01: 100.00 s: E  
TestDRbUNIXCore#test\_01\_02\_loop: 100.00 s: E  
TestDRbUNIXCore#test\_02\_unknown: 100.00 s: E  
TestDRbUNIXCore#test\_03: 100.01 s: E  
TestDRbUNIXCore#test\_04: 100.00 s: E  
TestDRbUNIXCore#test\_05\_eq: 100.00 s: E  
TestDRbUNIXCore#test\_06\_timeout: 100.00 s: E  
TestDRbUNIXCore#test\_07\_public\_private\_protected\_missing: 100.00 s: E  
TestDRbUNIXCore#test\_08\_here: 100.00 s: E  
TestDRbUNIXCore#test\_09\_option: 100.01 s: E  
TestDRbUNIXCore#test\_10\_yield: 100.00 s: E  
TestDRbUNIXCore#test\_10\_yield\_undumped: 100.00 s: E  
TestDRbUNIXCore#test\_11\_remote\_no\_method\_error: 100.00 s: E  
TestDRbYield#test\_01\_one: 100.00 s: E  
TestDRbYield#test\_02\_two: 100.00 s: E  
TestDRbYield#test\_03\_many: 100.00 s: E  
TestDRbYield#test\_04\_many\_to\_one: 100.01 s: E  
TestDRbYield#test\_05\_array\_subclass: 100.00 s: E  
TestDRbYield#test\_06\_taint: 100.00 s: E  
TestDataConverters#test\_builtin\_all\_nested\_combo\_converter: 0.01 s: .  
TestDataConverters#test\_builtin\_date\_converter: 0.00 s: .  
TestDataConverters#test\_builtin\_date\_time\_converter: 0.00 s: .  
…

e$BD4$Y$F$\_$k$H!"$I$&$b!"e(Bdrb e$B$N%F%9%H$G$O%\>%s%S%W%m%;%9$,$?$/$5e(B  
e$B$s$G$-$k$N$,LdBj$J$h$&$G$9!#e(B

% ps auxww|grep sh  
…  
akr 28244 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 25870 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 12199 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 30743 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 16391 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 6884 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 28045 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 19354 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 19739 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 15979 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 16803 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 18280 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 10880 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 194 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 7122 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 16748 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 28983 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 3433 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 24743 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 10404 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 7924 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 22668 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 30383 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 7222 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
akr 20634 0.0 0.0 0 0 p0 Z+ - 0:00.00 (sh)  
…

e$B$I$&$b!“e(BOpenBSD e$B$G$Oe(B (e$B$?$V$se(B)  
e$B%G%U%)%k%H$G%W%m%;%9?t@)8B$,$”$Ce(B  
e$B$F!"$=$l0J\>e$K$J$C$F$$$k$He(B fork(2) e$B$,e(B EAGAIN  
e$B$G\<:GT$7$^$9!#e(B

e$B6qBNE\*$K$O!"e(Bulimit e$B$GI=\<($5$;$k$He(B maxproc e$B$,e(B 64  
e$B$H=P$F$-$^$9!#e(B

% limit  
cputime unlimited  
filesize unlimited  
datasize 512MB  
stacksize 4MB  
coredumpsize unlimited  
memoryuse 1970MB  
memorylocked 658MB  
maxproc 64  
descriptors 128

e$B$=$7$F!“e(Bruby e$B$Oe(B fork(2) e$B$,e(B EAGAIN  
e$B$K$J$C$?$H$-!”:Fe(B  
e$BD)@o$7$^$9!#e(B

e$B$3$Ne(B

- e$B%W%m%;%9?t@)8Be(B
- drb e$B$,%\>%s%S%W%m%;%9$r:n$j$C$Q$J$7$K$9$ke(B  
e$B$H$$$&$N$,AH$\_9g$o$5$k$H!"$$$D$^$G$?$C$F$be(B fork e$B$O\<:GT$7B3$1e(B  
e$B$k$N$G!“e(Btimeout e$B$Ne(B  
100e$BIC$^$GBT$D$3$H$K$J$k!”$H$$$&$3$H$N$h$&e(B  
e$B$G$9!#e(B

e$B$3$N\>uBV$G$O30It$+$ie(B (e$B$=$N%f!\<%6$Ge(B?)  
e$B%m%0%$%s$b=PMh$J$$$H$$e(B  
e$B$&IT9,$J$3$H$K$J$j$^$9!#e(B

drb e$B$G%W%m%;%9$r:n$C$F$$$k$N$Oe(B lib/drb/extservm.rb e$B$Ne(B  
invoke\_service\_command e$B$G8F$s$G$$$ke(B spawn e$B$G!"$3$l$,JV$9e(B pid  
e$B$O;H$o$l$F$$$J$$$h$&$G$9!#e(B

pid e$B$r5-O?$7$F$\*$$$F!“8e;OKv$r$9$k$H$-$Ke(B wait e$B$9$k$N$,E,@Z$@e(B  
e$B$H;W$&$s$G$9$,!”$I$&$G$7$g$&$+!#e(B

---

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [February 8, 2009, 9:12am UTC](https://www.ruby-forum.com/t/zombie-processes-by-drb-tests/159658/2 "2009-02-08T09:12:59Z")

</div>

e$B31$H$$$$$^$9!#e(B

e$BLBOG$r$+$1$F$7$^$C$F?=$7Lu$"$j$^$;$s!#e(B

On 2009/02/07, at 3:07, Tanaka A. wrote:

> drb e$B$G%W%m%;%9$r:n$C$F$$$k$N$Oe(B lib/drb/extservm.rb e$B$Ne(B  
> invoke\_service\_command e$B$G8F$s$G$$$ke(B spawn e$B$G!"$3$l$,JV$9e(B  
> pid  
> e$B$O;H$o$l$F$$$J$$$h$&$G$9!#e(B
> 
> pid e$B$r5-O?$7$F$\*$$$F!“8e;OKv$r$9$k$H$-$Ke(B wait e$B$9$k$Ne(B  
> e$B$,E,@Z$@e(B  
> e$B$H;W$&$s$G$9$,!”$I$&$G$7$g$&$+!#e(B

e$B=\*N;CM$K6=L#$,$J$$$N$G!“e(Bwaite$B$7$J$$$G$9$`$J$i$=$l$K$3$7e(B  
e$B$?$3$H$O$”$j$^$;$s!#e(B

SIGCHLDe$B$re(Bsig\_igne$B$9$k$h$&$J$3$H!J$"$k$$$O$=$l$KAjEv$9$ke(B  
e$B$3$H!K$O$G$-$^$9$+!)e(B  
e$B$=$l$H$be(Bdouble forke$B$J$I$N0?"@-$,9b$=$&$J\<j=g$rF’$`J}$,e(B  
e$B$h$$$G$9$+!)e(B

---

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [February 8, 2009, 9:15am UTC](https://www.ruby-forum.com/t/zombie-processes-by-drb-tests/159658/3 "2009-02-08T09:15:20Z")

</div>

On 2009/02/08, at 17:11, Masatoshi SEKI wrote:

> > 
> 
> e$B$,$h$$$G$9$+!)e(B  
> e$B$O$C!#e(B  
> Process.detach(pid)e$B$r;H$($P$h$$$H$$$&$3$H$G$7$g$&$+!#e(B

---

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [February 8, 2009, 10:02am UTC](https://www.ruby-forum.com/t/zombie-processes-by-drb-tests/159658/4 "2009-02-08T10:02:08Z")

</div>

In article [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid),  
Masatoshi SEKI [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

> Process.detach(pid)e$B$r;H$($P$h$$$H$$$&$3$H$G$7$g$&$+!#e(B

e$B$`$j$d$j;&$9$J$I$NI,MW$,@8$8$J$$$N$G$"$l$P!"e(BProcess.detach  
e$B$G$$$$$+$b$7$l$^$;$s!#e(B

---

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [February 8, 2009, 10:22am UTC](https://www.ruby-forum.com/t/zombie-processes-by-drb-tests/159658/5 "2009-02-08T10:22:37Z")

</div>

In article [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid),  
Tanaka A. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

> e$B$`$j$d$j;&$9$J$I$NI,MW$,@8$8$J$$$N$G$"$l$P!"e(BProcess.detach  
> e$B$G$$$$$+$b$7$l$^$;$s!#e(B

e$B$H$j$"$($:\<!$N$h$&$K$7$F;n$7$?$H$3$m!"e(B100e$BICBT$?$J$/$F:Q$\_!"e(B  
drb e$B$N%F%9%H$O\<:GT$7$J$$$h$&$K$J$j$^$7$?!#e(B

# Index: lib/drb/extservm.rb

— lib/drb/extservm.rb (revision 22105)  
+++ lib/drb/extservm.rb (working copy)  
@@ -79,7 +79,7 @@ module DRb  
@servers[name] = false  
end  
uri = @uri || DRb.uri

- 

```
 spawn("#{command} #{uri} #{name}")

```

- 

```
 Process.detach spawn("#{command} #{uri} #{name}")

```

end  
end  
end

---

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [February 8, 2009, 12:53pm UTC](https://www.ruby-forum.com/t/zombie-processes-by-drb-tests/159658/6 "2009-02-08T12:53:51Z")

</div>

e$B31$H$$$$$^$9!#e(B

On 2009/02/08, at 18:20, Tanaka A. wrote:

> Index: lib/drb/extservm.rb  
> end  
> end

e$B$"$j$,$H$&$4$6$$$^$9!#e(B  
e$B$o$?$7$b\<j85$GF1MM$JJQ99$7$F;n$7$F$^$7$?!#e(B  
e$B$b$7$h$+$C$?$i!"$3$NJQ99$re(Bcommite$B$7$F$$$?$@$1$^$;$s$+e(B?

# Windowse$B$NN`$G$O$I$&F0$/$s$@$m!#e(B
