Trabajos en segundo plano

Trabajos en segundo plano

Estoy conectado a un servidor a través de ssh y quiero ejecutar un proceso que llevará mucho tiempo. Me conecto al servidor usando ssh en la terminal de mi computadora portátil, pero quiero poder apagar mi computadora portátil pero aún tener el progreso ejecutándose en el servidor. Dado que son dos computadoras separadas, parece que debería poder hacer esto, pero no estoy seguro de si es posible a través de ssh.

Respuesta1

Es bastante simple, agregue un &después de su comando, diga por ejemplo

bash script.sh &

Continuará su ejecución incluso si abandona la sesión o cierra la terminal.
Otra forma es usar nohupel comando y ejecutar su comando. Por ejemplo

nohup bash script.sh

Encuentra más usando man nohupy sigueestePregunta que tiene una dirección similar.

Respuesta2

Trabajos en segundo plano

Para ejecutar en segundo plano

program &

Para ejecutar en segundo plano y continuar después de desconectarse. También redirige stdouta ~/nohup.out.

nohup program &

Lo mismo pero redirigir a otro archivo

nohup program > "another file" &

Nota para los comandos anteriores, puede ver los trabajos en segundo plano con el jobscomando.

Lo mismo pero eliminar de la lista de trabajos

nohup program > "another file" & disown

Sesiones persistentes

Ver ñu screen, tmuxy vnc. Le permiten mantener una sesión abierta mientras está desconectado.

Ñuscreen

#create a screen session (do this once)
screen -d -m

#attach to the session
screen -x

También puedes tener más de una (sesiones con nombre)

#create a screen session (do this once)
screen -d -m -S a_name

#attach to the session
screen -x -S a_name

Tenga en cuenta que ctrl_a se usa para controlar la pantalla cuando está dentro. ctrl_a ctrl_a para pasar ctrl_a al shell.

VNC

#create a vnc session (do this once)
vncserver -from 127.1.0.1 -geometry 1920x1000 :10

#attach to the session (from a remote machine)
ssvnc Vnc+ssh://«user»@«machine-name»:10

Cambie la geometría para arreglar su pantalla, tal vez cambie el número de pantalla.

Notas:

Cualquiera en la máquina local puede conectarse a la sesión VNC.

Puede agregar -SecurityTypes Nonedesactivar la seguridad VNC, si tiene suficiente seguridad a través de ssh.

127.1.0.1está en el rango de bucle invertido. Sólo se pueden conectar los procesos en la máquina local. Puede conectarse de forma remota a través de ssh(ssvnc). Puede utilizar nftablespara restringir a qué usuarios pueden conectarse 127.1.0.1. Hay muchas direcciones en el rango de bucle invertido 127.0.0.1( 127.255.255.254alrededor de 16 millones), por lo que puede asignar una a cada usuario y aún tener espacio libre.

información relacionada