本文介绍了ctrl-C以外的另一种退出IEX的方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道我们可以使用Control-C退出IEX控制台。我很好奇是否有一个命令可以在控制台中输入,并且同样可以执行相同的操作。

I know we can exit the IEX console with control-C. I'm curious if there's a command to type into the console that would also do the same thing.

推荐答案

我能想到退出IEx Shell的3种方法:

I can think of 3 ways to quit an IEx shell:


  1. 提到的< ctrl-c> 命中两次或一次,然后依次是 q < enter>

  2. < ctrl-g> ,然后 q + < enter>

  3. ,最后是 System.halt

  1. The mentioned <ctrl-c> hit twice or once followed by q and then <enter>,
  2. <ctrl-g> and then q + <enter>,
  3. and finally System.halt,

,但是 System.halt 与其他的区别。

but there is a difference between System.halt and the others.

System.halt 暂停Erlang运行时,而其他人只是 退出外壳

Namely that System.halt "halts the Erlang runtime" and the others just "quit the shell".

当您仅运行一个Shell会话或该会话未附加到单独的运行时时,两种方式都会产生相同的结果。
但是如果您有一个连接到单独运行时的会话,例如通过 iex --remsh (远程shell),然后在其中运行 System.halt 会停止运行,因此Shell进程/运行时终止。只是退出外壳程序(通过方法1.或2.)不会停止它所连接的运行时。

When you have only one shell session running or the session is not attached to a separate runtime then both ways will produce the same result.But if you have a session connected to a separate runtime e.g. via iex --remsh (remote shell) then running System.halt in it will halt the runtime and so make both shell processes / runtimes terminate. Just quitting a shell (via method 1. or 2.) will not stop the runtime it is connected to.

结论:如果将外壳程序连接到其他运行时,则知道 System.halt 将暂停您已连接的运行时。如果您不想这样做,请使用< ctrl-c>

Conclusion: if you connect with your shell to other runtimes then know that System.halt will halt the runtime you have connected to. If you do not want to do it use <ctrl-c>.

更新:最近我也发现有关< ctrl-\> 的信息。您可以在中了解更多信息。 :

UPDATE: Recently I have also found out about <ctrl-\>. You can read more about it in this article:

这篇关于ctrl-C以外的另一种退出IEX的方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-30 09:16