Tengo scp
transferencia (de un servidor remoto a otro), eso es bastante grande.
Entonces, tal vez quiero cerrar la computadora desde la que ejecuté este comando, ¿finalizará la transferencia? Tengo ssh
acceso al shell usando el programa Bitwise.
Hay varias soluciones.
scp
transferencia como de costumbre.bg
).disown
).exit
) y el proceso continuará ejecutándose en la máquina remota.Una desventaja de este enfoque es que los descriptores de archivo para stdout y stderr aún contendrán referencias al tty de su sesión ssh. El terminal puede bloquearse cuando intenta salir debido a esto. Puede solucionar este problema escribiendo ~.
para forzar el cierre de su cliente ssh (esa secuencia de escape debe seguir una nueva línea ... ver también ~?
). Si el proceso que está abandonando escribe en stdout o stderr, el proceso puede salir prematuramente si el búfer tty se llena en exceso.
GNU Screen se puede usar para crear una sesión de terminal remota, que se puede desconectar y continuar ejecutándose en el servidor después de cerrar la sesión. Luego puede volver a iniciar sesión en el servidor en una fecha posterior y volver a conectarlo a la sesión.
screen -D -R <session_name>
.scp
transferencia como de costumbre.exit
)Para volver a adjuntar a la sesión:
screen -D -R <session_name>
Ver la respuesta usando nohup
.
Esta es la mejor solución si se trata de un tipo de tarea periódica que desea automatizar.
-D -R
inicio de las banderasscreen
. Leí la página del manual y no me ayudó a entender:-D -R Attach here and now. ...
screen -r <session>
fue lo que hizo ... ¿entonces-DR
es diferente simplemente-r
porque puede expulsarlos? No solo vuelve a conectar y falla si otro usuario está en él.Podría usar
nohup(1)
, es decir, hacer algo como:Esto creará una salida de
nohup.out
. Entonces puede cerrar sesión de forma segura.fuente
&
final hizo la diferencia para mí! ¡Gracias!Sí, se terminará. La solución para mantener viva la sesión de terminal sin conectividad es el
screen
programa:fuente
Como se dijo anteriormente, puede usar el comando de pantalla, por ejemplo:
user@server:~$ screen -S bigscptransfer
ser@server:~$ scp bigfile.dat server2:.
[detached from 5899.bigscptransfer]
user@server:~$ screen -r bigscptransfer
fuente
nohup scp shinto @ source: / home / data [email protected]: / var / tmp / file
detener temporalmente el comando con
poner en segundo plano el comando, escriba:
puedes verificar el proceso con:
fuente