Tengo un script bash que tarda varias horas en ejecutarse. Mientras se está ejecutando, me gustaría hacer otras cosas, que pueden incluir cerrar sesión o desconectarse de Internet (mi script ejecuta pruebas de red en varias computadoras).
Entiendo que hay un comando que me permitiría ejecutar mis pruebas desde un terminal remoto y cerrar sesión mientras se ejecuta. ¿Alguien sabe qué es este comando?
bash
ssh
remote-desktop
process
Ritwik Bose
fuente
fuente
Yo uso
nohup
para esto. En mi caso, tenía una secuencia de comandos de Python llamadaaction.py
. Ejecuté la secuencia de comandos en un servidor remoto ynohup python action.py &
luego cerré la terminal. Más tarde, cuando termine de ejecutarse, puede ver toda la salida del proceso en elnohup.out
que se creará en el mismo directorio queaction.py
. Si el archivo ya existe, se le agregarán más resultados.El único inconveniente es no saber cuándo el script ha seguido su curso, por lo que en mi caso tuve que enviarme un correo electrónico una vez completado. ¡Espero que esto haya ayudado a alguien!
fuente
¿Qué sucede si olvidó agregar el
nohup
comando al comienzo de su comando?Digamos que ha ejecutado el siguiente comando largo:
Esto se llama ya
ls -Ral /
que se supone que enumera todos los archivos y todas las carpetas, incluidas las ocultas, con un formato largo, comenzando recursivamente desde la carpeta raíz. Podría tomar un tiempo.Solo presiona ctrl+ Z.
¿Cómo lo recuperas?
El comando para devolverlo al primer plano es
fg
.fuente