¿Por qué ssh -t
no espera a que finalicen los trabajos en segundo plano?
Ejemplo:
ssh user@example 'sleep 2 &'
Esto funciona como se esperaba, ya que ssh regresa después de 2 segundos, mientras que
ssh user@example -t 'sleep 2 &'
no espera a sleep
que termine y regresa de inmediato.
¿Alguien puede explicar la razón detrás de esto? ¿Hay alguna manera de ssh -t
esperar a que finalicen todos los procesos en segundo plano antes de regresar?
Mi caso de uso es que comienzo una secuencia de comandos ssh -t
, y esta secuencia de comandos inicia varios trabajos en segundo plano que deberían mantenerse activos después de que finalice la secuencia de comandos principal. Con ssh -t
esto no es posible hasta ahora.
fuente
nohup
para mantener una secuencia de comandos ejecutándose así. (También puede considerar iniciar los trabajos de larga ejecución dentro detmux
lo que puede supervisar su progreso de forma interactiva, sino un archivo de registro funciona bien.)Uso
wait
:fuente