Mantener las sesiones SSH en ejecución después de la desconexión
A veces tengo procesos de larga duración que quiero iniciar antes de irme a casa, así que creo una sesión SSH en el servidor para iniciar el proceso, pero luego quiero cerrar mi portátil e irme a casa y más tarde, después de cenar, quiero comprobar el proceso que inicié antes de salir del trabajo. ¿Cómo puedo hacer eso con SSH? Tengo entendido que si rompes tu conexión SSH también romperás tu sesión de inicio de sesión en el servidor, por lo tanto matando el proceso que se está ejecutando desde hace tiempo.
208
3
Utilice
nohup
para que su proceso ignore la señal de colgado:Quieres usar GNU Screen. Es increíble.
CTRL+a , d para salir de tu sesión de pantalla
Cuando vuelvas a tu portátil
A continuación, comprueba el progreso de tu largo proceso.
screen
es una herramienta muy completa, y puede hacer mucho más de lo que he descrito. Mientras estés en una sesión de pantalla, prueba ctrl+a,... para aprender algunos comandos comunes. Probablemente los más comunes son:screen -d -r
para asegurarme de que si otro intérprete de comandos está conectado a mi sesión de pantalla, se desconectará antes de que la reanude en mi sistema actual.Lo que debes usar es screen o, mejor aún, una envoltura de fácil uso alrededor de screen llamada byobu.
Screen te permite ejecutar múltiples sesiones de terminal virtual en la misma sesión ssh. Un tutorial y páginas de ayuda están disponibles.
byobu es un wrapper que permite abrir fácilmente nuevas pantallas con una simple tecla de función en lugar de la combinación de teclas de ctrl-a. También muestra una línea de estado con todos los terminales virtuales abiertos a los que se les puede asignar un nombre.
Otra buena característica es el hecho de que todas tus pantallas pueden permanecer abiertas mientras tu conexión ssh está desconectada. Sólo tienes que conectar de nuevo a través de ssh y llamar byobu y todo es como antes.
Por fin algunas capturas de pantalla de byobu.