Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
iniciar_simulacion_sin_slurm [2020/11/18 06:48] admin |
iniciar_simulacion_sin_slurm [2024/05/03 21:47] (current) admin |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Ejecutar una simulación con screen ====== | + | ====== Ejecutar trabajos con Tmux ====== |
- | (**multiplexor screen)** | + | [[https://man.openbsd.org/OpenBSD-current/man1/tmux.1|Tmux]] es un gestor de ventanas, cuyo objetivo es permitir al usuario realizar múltiples tareas en un Shell o durante una sesión SSH al mismo tiempo y de forma más organizada. Esto es comparable a varias pestañas en un navegador. |
- | Temporalmente es permitido ejecutar simulaciónes sin el encolador SLURM, y el método consiste en estos pasos: | + | Tmux es persistente, lo que significa que puede desconectarse de una sesión de Tmux y luego volver a conectarse más tarde para retomar su trabajo exactamente donde lo dejó. |
- | **Paso 1** | + | Desde el servidor puede iniciar una nueva sesión con el siguiente comando: |
+ | <code> | ||
- | Ejecutar en el servidor lo siguiente: | + | $ tmux |
- | <code>screen -S nombre-de-tu-trabajo -L | + | </code> |
+ | Si desea retomar la última sesión visitada, puede ejecutar: | ||
+ | |||
+ | <code> | ||
+ | $ tmux a | ||
</code> | </code> | ||
- | **-S : **Asigna un nombre a la session llamado **"nombre-de-tu-trabajo"** , nombre elegido por el usuario | + | O si desea conectarse a una sesión específica, ejecute un listado de sesiones para unirse a una de ellas, con los siguientes comandos: |
- | -**L : **genera en el directorio actual un archivo de nombre **screenlog.0** que almacena toda la salida y actividad de la session para su revisión posterior. | + | <code> |
+ | $ tmux ls | ||
+ | $ tmux a -t [sesión] | ||
- | ---- | + | </code> |
- | **Paso 2** | + | Por ejemplo: |
- | <code>python tu-codigo.py | + | |
+ | <code> | ||
+ | $ tmux ls | ||
+ | 0: 1 windows (created Fri May 3 19:00:42 2024) | ||
+ | 1: 1 windows (created Fri May 3 20:25:39 2024) | ||
+ | |||
+ | $ tmux a -t 1 | ||
</code> | </code> | ||
- | Este ejemplo ejecuta un código python a través del multiplexor screen. | + | Para iniciar un comando durante una sesión, debe escribir el atajo ''Ctrl + b''. Al dividir la ventana en diferentes paneles, estas quedan automáticamente independientes. Por lo tanto, una única sesión de Tmux consta de varias ventanas independientes y cada ventana consta de varios paneles independientes. Los comandos importantes son: |
- | **IMPORTANTE**: para trabajos de larga duración presiona las teclas: **control+a+d** . Luego de eso puedes cerrar tu session en el servidor y regresar otro día mientras el servidor continua trabajando. | + | ^Comando^Descripción| |
+ | |//d// |Desconectar la sesión tmux actual| | ||
+ | |//c// |Crear una nueva ventana en la sesión tmux actual| | ||
+ | |//0/1/.../9// |Cambiar a la ventana 0/1/.../9 de la sesión tmux actual| | ||
+ | |//&// |Cerrar la ventana actual| | ||
+ | |//%// |Dividir la ventana actual verticalmente| | ||
+ | |//"// |Dividir la ventana actual horizontalmente| | ||
+ | |//Flechas del teclado// |Alternar entre paneles| | ||
+ | |//x// |Eliminar panel actual| | ||
+ | |//?// |Mostrar todas las combinaciones de teclas (comandos)| | ||
- | ---- | + | Para salir completamente de la sesión de Tmux, cierra todas las ventanas y paneles abiertos y luego, en el último panel restante, escribe el siguiente comando: |
+ | <code> | ||
- | **Paso 3** | + | $ exit |
- | Para recuperar o restaurar una session anterior debes ejecutar en el servidor lo siguiente: | + | </code> |
- | <code>screen -list #lista todas las sessiones abiertas (detached) que puede ser recuperadas | + | **Nota:** Tmux usa $TMPDIR para guardar el socket de comunicación. Este directorio puede ser temporal y/o dependiente de la sesión en algunos entornos; una vez eliminado, perderá la conexión a las sesiones tmux (aún en ejecución). Para resolver eso, coloque los datos de su sesión Tmux en una ruta que no se pueda borrar después de cerrar sesión, por ejemplo: |
- | There is a screen on: | + | <code> |
- | 26886.nombre-de-tu trabajo (09/11/20 20:54:43) (Detached) | + | $ tmux -S /tmp/$USER/tmux new |
+ | |||
+ | </code> | ||
- | screen -r 26886.nombre-de-tu trabajo #recuperar una session detached para continuar trabajando en ella | + | y después de volver a iniciar sesión: |
+ | <code> | ||
+ | $ tmux -S /tmp/$USER/tmux ls | ||
</code> | </code> | ||
- | **IMPORTANTE: **Toda la actividad de la session screen quedará registrada en el archivo de texto **screenlog.0** para revisión y analisis de la ejecución de tu trabajo. Cada vez que restaures una session, y el proceso no ha terminado debes repetir los comandos **control+a+d ** para que la session no se pierda, y asi volver en otro momento. | ||
- | ====== Video Demostrativo ====== | ||
- | - [[https://cemcc.ufro.cl/~rvp/doku/media/Screencast from 09-11-20 22:02:07.webm|Demo- Uso de screen- Lautaro server]] | ||
- | - [[https://www.youtube.com/watch?v=I4xVn6Io5Nw&t=62s|Youtube- Tutorial- How to Use screen Linux]] | ||