stable - just install elixir
Otra forma de salir de IEX que no sea ctrl-C (5)
Desconecta del shell y detiene el nodo actual. Esto es lo que necesitas en la mayoría de los casos.
1.1.
Ctrl+/
- método estándar para salir del shell de Erlang. Consulte "4.4 ¿Cómo salgo de la shell de Erlang?" en Erlang - Comenzando .1.2.
Ctrl+C, a, Enter
- mediante el comando(a)bort
del menú Break .1.3.
Ctrl+C, Ctrl+C
: parece una característica no documentada del menú Ruptura.1.4.
Ctrl+G, q, Enter
- a través del comandoq
(salir de Erlang) del menú User Switch (ver Erlang - shell - JCL Mode ).Nota: esto deja al nodo remoto vivo si se ha conectado a él con
iex --remsh
(veaiex --help
e IEx - Remote Shells ).Apaga el nodo al que estás conectado.
2.1.
System.halt
-System.halt
rápido y sucio. El sistema de tiempo de ejecución sale con el código de estado 0 (salida limpia sin errores). También puede llamar a System.halt para abortar con volcado de núcleo. Igual que:erlang.halt
.2.2.
:init.stop
(System.stop
en futuras versiones) - cierre de limpieza. Todas las aplicaciones se eliminan sin problemas, todo el código se descarga y todos los puertos se cierran antes de que el sistema finalice al :erlang.halt el sistema :erlang.halt .Nota: esto deja su shell activo si se ha conectado a un shell remoto con
iex --remsh
.
Observe que todas estas opciones están deshabilitadas si Erlang se inicia con el salto de ignorar, + Bi, indicador del sistema: iex --erl +Bi
(que puede ser útil, por ejemplo, cuando se ejecuta un shell restringido). Ver Erlang - erl para más información.
Sé que podemos salir de la consola IEX con control-C. Tengo curiosidad si hay un comando para escribir en la consola que también haría lo mismo.
Parece
System.halt
tambien funciona
Puedo pensar en 3 formas de salir de un shell IEx:
- El mencionado
<ctrl-c>
golpeó dos veces o una vez seguido deq
luego<enter>
, -
<ctrl-g>
y luegoq
+<enter>
, - y finalmente
System.halt
,
pero hay una diferencia entre System.halt
y los otros.
Es decir, que System.halt
" detiene el tiempo de ejecución de Erlang " y los demás simplemente " abandonan el shell ".
Cuando solo se está ejecutando una sesión de shell o la sesión no está conectada a un tiempo de ejecución separado, ambas formas producirán el mismo resultado. Pero si tiene una sesión conectada a un tiempo de ejecución independiente, por ejemplo, a través de iex --remsh
(shell remoto), al ejecutar System.halt
se detendrá el tiempo de ejecución y, por lo tanto, se terminarán ambos procesos / tiempos de ejecución del shell. El simple hecho de salir de un shell (a través del método 1 o 2) no detendrá el tiempo de ejecución al que está conectado.
Conclusión: si se conecta con su shell a otros tiempos de ejecución, entonces sepa que System.halt
detendrá el tiempo de ejecución al que se conectó. Si no quieres hacerlo usa <ctrl-c>
.
ACTUALIZACIÓN: Recientemente también me he <ctrl-/>
. Puedes leer más sobre esto en este artículo :
Lo que no sabía es que puedes salir de la shell enviando Ctrl-. La cáscara saldrá inmediatamente. Que yo sepa, tiene el mismo efecto que abortar el shell en el comando Romper, no afecta a los nodos remotos y también funciona fuera de iex (por ejemplo, puede usarlo para finalizar sus pruebas).
Siempre pensé que ctrl-G seguido de q para salir era la forma oficial de salir de la shell iex. http://elixir-lang.org/docs/v1.0/iex/IEx.html Ver bajo El comando Break, que también muestra cómo se puede cambiar entre shells alternativos, etc.
entrada en shell :cq()
y se feliz