Hi,<div><br></div><div>Not sure if its fixed in R14 but why when running <r> without specifying node in user switch command your local erlang crashes? e.g.</div><div><br></div><div><div>User switch command</div><div>
 --> r</div><div>{error_logger,{{2011,10,4},{0,18,25}},supervisor_report,[{supervisor,{<0.26.0>,user_sup}},{errorContext,child_terminated},{reason,{noproc,{gen_server,call,[{global,pool_master},get_node]}}},{offender,[{pid,<0.28.0>},{mod,user_sup}]}]}......</div>
</div><div><br></div><div>Can this behaviour be changed?</div><div><br></div><div>Regards,</div><div><br></div><div><br></div><div><br><br><div class="gmail_quote">On Tue, Oct 4, 2011 at 12:13 AM, Anders Ramsell <span dir="ltr"><<a href="mailto:anders@theheartofgold.org">anders@theheartofgold.org</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">Barco You wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello Erlangers,<br>
<br>
When starting a erl shell, we will see a printout as:<br>
Eshell V5.8.4  (abort with ^G)<br>
<br>
<br>
then, I tried to press Ctrl+G and got:<br>
User switch command<br>
  -->  ls<br>
Unknown command<br>
  -->  q().<br>
Unknown command<br>
  --><br>
<br>
I can do nothing with the prompt "-->". How to quit from it? and<br>
what's "Ctrl+G" used for?<br>
<br>
   <br>
</blockquote></div>
The words "abort with ^G" are in fact hiding an extremely useful<br>
function called JCL (job control mode) [1]. I overlooked this<br>
function for years.  Now I use it on a near daily basis and just<br>
love it.<br>
<br>
[1] <a href="http://www.erlang.org/doc/man/shell.html" target="_blank">http://www.erlang.org/doc/man/<u></u>shell.html</a><br>
<br>
Assume you have an Erlang node named 'server@myhost' running as a<br>
service/daemon on your system. Wouldn't it be great if you could<br>
run interactive commands on this node just like you do in a<br>
shell? JCL let's you do that with ease.<br>
<br>
Start up a new shell 'client@myhost' and hit ctrl-G to enter JCL.<br>
Now start a remote shell to 'server@myhost'.<br>
<br>
| (client@myhost)1><br>
| User switch command<br>
|  --> r server@myhost<br>
|  --> j<br>
|    1* {shell,start,[init]}<br>
|    2  {server@myhost,shell,start,[]}<br>
<br>
You now have a local shell with id=1 and a remote shell with<br>
id=2. Connect to the remote shell:<br>
<br>
|  --> c 2<br>
|<br>
| (server@myhost)1><br>
<br>
Now you have a shell on the server node where you can run any<br>
command you want. This means you can call any exported function<br>
in all modules loaded on the server. That kind of interaction<br>
with a running system can be invaluable when trying to figure out<br>
why it doesn't behave quite the way you planned.<br>
<br>
Now of course there is a backside to the story. Doing something<br>
wrong may cause your system to crash. So hey - let's be careful<br>
out there.<br><font color="#888888">
<br>
/Anders</font><div><div></div><div class="h5"><br>
<br>
______________________________<u></u>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/<u></u>listinfo/erlang-questions</a><br>
</div></div></blockquote></div><br></div>