control-C で IEX コンソールを終了できることはわかっています。同じことを行うコンソールに入力するコマンドがあるかどうか、私は興味があります。
5 に答える
IEx シェルを終了するには、次の 3 つの方法が考えられます。
- 前述の
<ctrl-c>
ヒットの 2 回または 1 回の後にq
と<enter>
, <ctrl-g>
そしてq
+<enter>
、- そして最後に
System.halt
、
しかし、他のものとは違いがありSystem.halt
ます。
つまり、System.halt
「Erlang ランタイムを停止」し、他のものは単に「シェルを終了」します。
実行中のシェル セッションが 1 つしかない場合、またはセッションが別のランタイムに接続されていない場合、どちらの方法でも同じ結果が得られます。iex --remsh
ただし、 (リモート シェル)などを介して別のランタイムに接続されたセッションがある場合、その中System.halt
で実行するとランタイムが停止し、シェル プロセスとランタイムの両方が終了します。(方法 1. または 2. を介して) シェルを終了するだけでは、接続されているランタイムは停止しません。
System.halt
結論: シェルを使用して他のランタイムに接続すると、接続したランタイムが停止することがわかります。やりたくない場合は を使用してください<ctrl-c>
。
更新: 最近、 についても知りました<ctrl-\>
。詳細については、次の記事を参照してください。
私が知らなかったのは、Ctrl- を送信することでシェルを終了できるということです。シェルはすぐに終了します。私の知る限り、Break コマンドでシェルを中止するのと同じ効果があり、リモート ノードには影響せず、iex の外部でも機能します (たとえば、テストを終了するために を使用できます)。
のように見える
System.halt
も機能します。
私はいつも、ctrl-G の 後にq を押して終了するのが iex シェルを終了する公式の方法だと思っていました。
BREAK メニューの IEx ドキュメントのセクションを参照してください。これには、代替シェルなどを切り替える方法も示されています。