36

control-C で IEX コンソールを終了できることはわかっています。同じことを行うコンソールに入力するコマンドがあるかどうか、私は興味があります。

4

5 に答える 5

33

IEx シェルを終了するには、次の 3 つの方法が考えられます。

  1. 前述の<ctrl-c>ヒットの 2 回または 1 回の後にq<enter>,
  2. <ctrl-g>そしてq+ <enter>
  3. そして最後にSystem.halt

しかし、他のものとは違いがありSystem.haltます。

つまり、System.haltErlang ランタイムを停止」し、他のものは単に「シェルを終了」します。

実行中のシェル セッションが 1 つしかない場合、またはセッションが別のランタイムに接続されていない場合、どちらの方法でも同じ結果が得られます。iex --remshただし、 (リモート シェル)などを介して別のランタイムに接続されたセッションがある場合、その中System.haltで実行するとランタイムが停止し、シェル プロセスとランタイムの両方が終了します。(方法 1. または 2. を介して) シェルを終了するだけでは、接続されているランタイムは停止しません。

System.halt結論: シェルを使用して他のランタイムに接続すると、接続したランタイムが停止することがわかります。やりたくない場合は を使用してください<ctrl-c>

更新: 最近、 についても知りました<ctrl-\>。詳細については、次の記事を参照してください

私が知らなかったのは、Ctrl- を送信することでシェルを終了できるということです。シェルはすぐに終了します。私の知る限り、Break コマンドでシェルを中止するのと同じ効果があり、リモート ノードには影響せず、iex の外部でも機能します (たとえば、テストを終了するために を使用できます)。

于 2015-05-07T08:12:17.037 に答える
8

のように見える

 System.halt

も機能します。

于 2015-05-06T19:03:05.343 に答える
1

私はいつも、ctrl-G の 後にq を押して終了するのが iex シェルを終了する公式の方法だと思っていました。

BREAK メニューの IEx ドキュメントのセクションを参照してください。これには、代替シェルなどを切り替える方法も示されています。

于 2015-05-06T21:30:27.543 に答える