aprendiendo ( Erlang ).

miércoles, 18 de mayo de 2011

JCL Mode. Recuperación del sistema.

| 0 comentarios |

Recordemos lo que no proporciona el modo JCL (Job Control Language). Para empezar, para entrar en el modo JCL de la consola de Erlang hay que pulsar Ctrl+g y una vez en el modo JCL, pulsaremos h o ? para obtener la ayuda.
Erlang R13B03 (erts-5.7.4) [source] [64-bit] [rq:1] [async-threads:0] [hipe] [kernel-poll:false]

Eshell V5.7.4  (abort with ^G)
1> 
User switch command
 --> ?
  c [nn]            - connect to job
  i [nn]            - interrupt job
  k [nn]            - kill job
  j                 - list all jobs 
  s [shell]         - start local shell
  r [node [shell]]  - start remote shell
  q                 - quit erlang
  ? | h             - this message
 --> 
Veamos que hacen cada uno de los comandos del modo JCL.
  • ? | h imprime la ayuda
  • c [nn] conecta con el trabajo nn o con el trabajo actual.
  • i [nn] para el actual evaluador de procesos del trabajo nn o del actual, preservando variables y demás actores del espacio de trabajo para poder retomarlo posteriormente.
  • k [nn] mata el trabajo nn o el actual. Todos los procesos del trabajo son "matados" si es sobre la máquina local en caso contrario no los "mata".
  • j Lista todos los trabajos. El trabajo con el * es el trabajo activo o actual.
  • s arranca un nuevo trabajo y le asocia un identificador de trabajo.
  • s [shell] arranca un nuevo trabajo. Opcionalmente se le puede indicar un shell alternativo al shell por defecto.
  • r [node] arranca un trabajo en un nodo remoto. Esto se utiliza en distribución aplicaciones Erlang.
  • q sale de Erlang.

¿Qué hacer si la consola no responde?

Si la consola no responde por el motivo que sea podemos recurrir al modo JCL para recuperar el sistema.
1> 
User switch command
 --> h
  c [nn]            - connect to job
  i [nn]            - interrupt job
  k [nn]            - kill job
  j                 - list all jobs
  s [shell]         - start local shell
  r [node [shell]]  - start remote shell
  q        - quit erlang
  ? | h             - this message
 --> j
   1* {shell,start,[init]}
 --> s
 --> j
   1  {shell,start,[init]}
   2* {shell,start,[]}
 --> k 1
 --> j
   2* {shell,start,[]}
 --> c 2
Eshell V5.7.4  (abort with ^G)
1> 
Los pasos a realizar son:
  1. Entrar en el modo JCL pulsando Ctrl+g.
  2. Pulsamos j para ver los trabajos que están activos.
  3. Arrancamos un nuevo trabajo pulsando s. Si volvemos a listar podemos ver el nuevo trabajo.
  4. Matamos el trabajo bloqueado con k n donde en el ejemplo n es el primer trabajo. Si volvemos a listar vemos que desaparece el trabajo bloqueado.
  5. Y por último conectamos al nuevo trabajo con c n donde el identificador de trabajo en nuestro ejemplo es 2.

Publicar un comentario en la entrada

0 comentarios:

 
Licencia Creative Commons
Aprendiendo Erlang por Verdi se encuentra bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 3.0 Unported.