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.
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.
Respuestas:
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.
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.
Sí, se terminará. La solución para mantener viva la sesión de terminal sin conectividad es el screen
programa:
SCREEN(1) SCREEN(1)
NAME
screen - screen manager with VT100/ANSI terminal emulation
SYNOPSIS
screen [ -options ] [ cmd [ args ] ]
screen -r [[pid.]tty[.host]]
screen -r sessionowner/[[pid.]tty[.host]]
DESCRIPTION
Screen is a full-screen window manager that multiplexes a physical ter‐
minal between several processes (typically interactive shells). Each
virtual terminal provides the functions of a DEC VT100 terminal and, in
addition, several control functions from the ISO 6429 (ECMA 48, ANSI
X3.64) and ISO 2022 standards (e.g. insert/delete line and support for
multiple character sets). There is a scrollback history buffer for
each virtual terminal and a copy-and-paste mechanism that allows moving
text regions between windows.
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
nohup scp shinto @ source: / home / data roose@target.example.com: / var / tmp / file
detener temporalmente el comando con
CTRL + z
poner en segundo plano el comando, escriba:
bg
puedes verificar el proceso con:
trabajos
-D -R
inicio de las banderasscreen
. Leí la página del manual y no me ayudó a entender:-D -R Attach here and now. ...