¿Cómo puedo usar ssh para ejecutar un comando en una máquina Unix y salir antes de que se complete el comando?
Por ejemplo, si escribo
ssh localhost 'sleep 60 &'
ssh se cuelga en mi terminal hasta que se completa el sueño, a pesar de que el sueño se ejecuta en segundo plano.
&
exterior de las comillas.Respuestas:
SSH tiene un modificador -f que hace exactamente lo mismo que usar nohup en su cliente pero hace posible que ssh solicite una contraseña. Úselo así:
Pero : SSH seguirá viviendo en segundo plano, por lo que si cierra el cliente antes de que finalice el comando en el servidor, se cancelará. Si desea que la conexión ssh se cierre después de ejecutar el comando, puede usar la pantalla en el lado del servidor:
fuente
Utilice nohup, redirección stdout / stderr y ejecute el comando en segundo plano:
EDITAR: O incluso mejor, solo use el parámetro -f de ssh:
fuente
&>/dev/null
.O, después de iniciar sesión con el uso
ssh
, comiencescreen
si desea volver más tarde, para ver el progreso o la salida.fuente