Doesn't seem to play nicely on OSX:<div><br></div><div><div>t4@malachi:custom-assembly $ ps -ef | grep run_erl</div><div>  501  1349  2378   0   0:00.00 ttys001    0:00.00 grep run_erl</div><div>t4@malachi:custom-assembly $ HEART_COMMAND="run_erl -daemon /tmp/test/ /tmp/test/ 'erl -heart'" run_erl -daemon /tmp/test/ /tmp/test/ "erl -heart"</div>
<div>t4@malachi:custom-assembly $ ps -ef | grep run_erl</div><div>  501  1352     1   0   0:00.00 ??         0:00.00 run_erl -daemon /tmp/test/ /tmp/test/ erl -heart</div><div>  501  1359  2378   0   0:00.00 ttys001    0:00.00 grep run_erl</div>
<div>t4@malachi:custom-assembly $ ps -ef | grep beam</div><div>  501  1353  1352   0   0:00.07 ttys000    0:00.19 /Users/t4/Library/Erlang/Versions/R15B64-LHSE/erts-5.9/bin/beam.smp -- -root /Users/t4/Library/Erlang/Versions/R15B64-LHSE -progname erl -- -home /Users/t4 -- -heart</div>
<div>  501  1361  2378   0   0:00.00 ttys001    0:00.00 grep beam</div><div>t4@malachi:custom-assembly $ echo "1 + 1." | to_erl /tmp/test/</div><div>Attaching to /tmp/test/erlang.pipe.1 (^D to exit)</div><div><br>
</div><div>[EOF]</div><div>t4@malachi:custom-assembly $  tail -n3 /tmp/test/erlang.log.1</div><div>1> 1 + 1.</div><div>2</div><div>2> t4@malachi:custom-assembly $ </div><div>t4@malachi:custom-assembly $ </div><div>t4@malachi:custom-assembly $ </div>
<div>t4@malachi:custom-assembly $ ps -ef | grep run_erl</div><div>  501  1352     1   0   0:00.00 ??         0:00.00 run_erl -daemon /tmp/test/ /tmp/test/ erl -heart</div><div>  501  1366  2378   0   0:00.00 ttys001    0:00.00 grep run_erl</div>
<div>t4@malachi:custom-assembly $ kill -9 1352</div><div>t4@malachi:custom-assembly $ ps -ef | grep run_erl</div><div>  501  1368  2378   0   0:00.00 ttys001    0:00.00 grep run_erl</div><div>t4@malachi:custom-assembly $ ps -ef | grep beam</div>
<div>  501  1353     1   0   0:03.73 ttys000    0:09.12 /Users/t4/Library/Erlang/Versions/R15B64-LHSE/erts-5.9/bin/beam.smp -- -root /Users/t4/Library/Erlang/Versions/R15B64-LHSE -progname erl -- -home /Users/t4 -- -heart</div>
<div>  501  1370  2378   0   0:00.00 ttys001    0:00.00 grep beam</div><div>t4@malachi:custom-assembly $ evm info</div><div>R15B compiled for i386-apple-darwin10.8.0, 64bit</div><div>t4@malachi:custom-assembly $ echo "2 + 2." | to_erl /tmp/test/</div>
<div>No running Erlang on pipe /tmp/test/erlang.pipe.1: Device not configured</div><div>t4@malachi:custom-assembly $ </div><br><div class="gmail_quote">On 7 January 2012 15:42, Garrett Smith <span dir="ltr"><<a href="mailto:g@rre.tt">g@rre.tt</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Sat, Jan 7, 2012 at 9:34 AM, Zabrane Mickael <<a href="mailto:zabrane3@gmail.com">zabrane3@gmail.com</a>> wrote:<br>

><br>
> On Jan 7, 2012, at 4:04 PM, Garrett Smith wrote:<br>
><br>
>> On Fri, Jan 6, 2012 at 5:15 PM, Zabrane Mickael <<a href="mailto:zabrane3@gmail.com">zabrane3@gmail.com</a>> wrote:<br>
>>> Hi Garrett,<br>
>>><br>
>>> I've tried to reproduce you example by copy and past<br>
>>> on both Linux/OSX R14B04 and OSX R15B:<br>
>>><br>
>>> Each time I kill one of these process:<br>
>>> - beam<br>
>>> - run_erl<br>
>>> - heart<br>
>>><br>
>>> the two others die too.<br>
>><br>
>> Killing beam or run_erl should result in the corresponding process<br>
>> dying as well. But if run with -heart and with a correct<br>
>> HEART_COMMAND, run_erl/beam be restarted.<br>
>><br>
>> Killing heart has the effect of killing its child processes.<br>
><br>
> I tried several time (copy/past your example). Same result.<br>
> I'll try again on virtual machine with a fresh Erlang installed.<br>
> Which Linux are you using Garrett?<br>
<br>
</div>I'm not clear on what the problem is. See next point.<br>
<div class="im"><br>
> Can someone else please confirm Garret's example on his machine?<br>
><br>
>><br>
>>> I can't explain why.<br>
>>><br>
>>> By the way, the test<br>
>>> echo "1 + 1." | to_erl /tmp/test/<br>
>>> works perfectly<br>
>><br>
>> In your tests, did the "2 + 2" and "4 + 4" examples work?<br>
><br>
> Yep, they both work correctly.<br>
<br>
</div>I suspect you're seeing the correct behavior then. The point of the<br>
example is to show that, by using -heart, your Erlang process, running<br>
under run_erl, will be restarted whether it's the beam process or the<br>
run_erl process that's killed.<br>
<br>
The fact that the "2 + 2" and "4 + 4" scenarios are working mean that<br>
your Erlang process is indeed getting restarted.<br>
<span class="HOEnZb"><font color="#888888"><br>
Garrett<br>
</font></span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</div></div></blockquote></div><br></div>