nohup no mostrará el siguiente mensaje en la sesión SSH
Supongamos que estoy conectado a través de SSH en un sistema Ubuntu remoto. Quiero ejecutar un script allí usando nohup
en caso de posibles caídas de conexión y redirigir su registro a un archivo. El comando que ejecuto es
nohup bash myscript.sh > log.txt &
Luego, el terminal imprime el PID del script y el mensaje:
nohup ignorando la entrada y redireccionando stderr a stdout
El cursor se congela allí y no puedo ejecutar otros comandos a menos que salga de la sesión SSH con Ctrl+ Dy vuelva a iniciar sesión. Preferiría que la sesión SSH permanezca abierta y continúe con el siguiente indicador de terminal sin la necesidad de volver a iniciar sesión. ¿Hay alguna forma de lograrlo?
Respuestas
Este comando se ejecuta en segundo plano como era de esperar. Sin embargo, en este caso particular, hay una condición de carrera en la que el mensaje de salida se escribe fraccionalmente después del indicador de shell.
El resultado visual es que el indicador de shell precede al nohup
mensaje o que se sobrescribe por completo.
El resultado práctico es que debido a que el shell ha escrito su indicador, está listo para el siguiente comando. Puede presionar Enter para generar un nuevo mensaje, o simplemente escribir el siguiente comando de todos modos.