Actualmente estoy ejecutando una copia de seguridad y ahora debe transferirse a una desmontable como en tmux
o screen
. ¿Hay alguna manera de hacer esto cuando el comando se está ejecutando actualmente?
Puedo enviar el comando al fondo presionando Ctrl+ Zy volver a colocarlo emitiendo un fg
comando. pero no sé si esa sesión puede regresar cuando salgo de la terminal.
command-line
shell
gnu-screen
tmux
Jürgen Paul
fuente
fuente
Respuestas:
Esto funciona la mayor parte del tiempo:
Prerrequisitos: tener
reptyr
ytmux
/screen
instalado; podrá encontrarlos conapt-get
oyum
, según su plataforma.Use Ctrl+ Zpara suspender el proceso.
Reanude el proceso en segundo plano con
bg
Encuentre la identificación del proceso del proceso en segundo plano con
jobs -l
Verás algo similar a esto:
Desconozca el trabajo del padre actual (shell) con
disown yourprocessname
Inicio
tmux
(preferido), oscreen
.Vuelva a adjuntar el proceso a
tmux
/screen
session con reptyr:Ahora puede desconectar el multiplexor (por defecto Ctrl+ B, Dpara
tmux
o Ctrl+ A, Dparascreen
) y desconectar SSH mientras su proceso continúa entmux
/screen
.Más tarde, cuando vuelva a conectarse con SSH, podrá conectarlo a su multiplexor (p
tmux attach
. Ej .).fuente
sudo reptyr 1430
todavía recibí: "... [-] No se puede abrir el tty en el niño. No se puede adjuntar a pid 1430: Permiso denegado"echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope
bg
, el proceso debería ejecutarse en segundo plano, por lo quejobs
debería decir enRunning
lugar deStopped
.reptyr
es bueno pero recibí un error de permisoLuego encontrado
-L Like '-l', but also redirect the child's stdio to the slave.
que funcionó de maravilla
fuente
-L
mensaje, recibí un mensaje como el tuyo,Opened a new pty: /dev/pts/6
pero mi suspendidotop
no apareció en el tmux. ¿que me estoy perdiendo aqui?puede usar disown para separar el trabajo de su terminal, si ese comando está disponible.
Sin embargo, es más seguro ejecutarlo con nohup.
fuente
nohup
? ¿Cómo funcionadisowning
un proceso?