Ejecutar comandos en Putty sin temor a perder la conexión.

13

¿Cómo utiliza el comando "pantalla" de manera efectiva?
Lo es:

  1. Escriba "pantalla"

  2. Escriba el comando

  3. Perder la conexión

  4. Vuelva a verificar la sesión perdida

¿Cómo llevo a cabo el paso 4?

quijote curandero
fuente

Respuestas:

18

Con pantalla:

  1. screen
  2. tipo command
  3. Ctrl- A- Dpara separar de la pantalla
  4. cierre de sesión de la sesión
  5. screen -RD para volver a adjuntar a la pantalla (si hay más de una, obtendrá una lista de las sesiones de pantalla actuales y deberá proporcionar el número de sesión) de una nueva sesión

Un método más simple que es útil para los comandos que dejan archivos de registro o simplemente arrojan algún resultado relevante y no necesitan interactividad es nohup:

  1. nohup command > logfile &
  2. Cierre de sesión de la sesión
  3. tail -f logfile de una nueva sesión
Vinko Vrsalovic
fuente
Nota: el paso 3 es completamente opcional. Si cierra su sesión PuTTY sin desconectarse, puede volver a adjuntarla screen -RD.
Duncan Jones
4

La pantalla es realmente poderosa y le permite hacer exactamente lo que le pidió.

Para ver todas sus sesiones, escriba

screen -list

Una vez que haya identificado una sesión de pantalla para volver a conectar también, intente

screen -dr SCREENID

que separará y volverá a conectar su sesión.

También puedes hacer algo menos agradable,

screen -D -R

que se desconectará y cerrará sesión de forma remota, si es necesario, luego se volverá a conectar, o si esa sesión no existe, la creará y notificará al usuario. Puede agregar un "-t NAME" para asignar títulos a los shells o programas.

Dentro de la pantalla, use

command-c

para crear una nueva ventana (por lo que no necesita 4000000 sesiones de pantalla para desconectarse y volver a conectarse), y cambiar entre ellas con

command-int

Indización desde 0, por supuesto: P

Como pareces un poco familiarizado con la pantalla, voy a suponer que podrías usar otra información. Me gustan los siguientes comandos, como:

-e xy

Lo que hace que x sea el carácter de comando ey sea el carácter para generar un carácter de comando literal. Los valores predeterminados son Ctrl-a y `a.

Aquí hay más para ti: ¡Pantalla! Es para los programadores.


fuente
2

screen -dr para separar y reanudar la sesión de pantalla anterior.

sepp2k
fuente
2

Esto es lo que aprendí sobre el uso de la pantalla (que yo también comencé a hacer):

  • screen -S <name>crea una pantalla llamada '<nombre>'. Esto es bastante útil si desea tener varias sesiones de pantalla al mismo tiempo. Por ejemplo, tengo uno que uso normalmente y uno que uso para mis procesos persistentes.
  • screen -ls enumera las pantallas en ejecución.
  • screen -r <name>reanuda una pantalla separada. Si la pantalla ya está conectada en alguna parte, úsela screen -dr <name>.

Además, cuando comience a usar la pantalla, cada vez que planee irse, presione ^a d(= ctrl-a seguido de una d ) para separar la pantalla que está ejecutando actualmente. Luego se puede reanudar más tarde.

Además, puedo recomendar echar un vistazo a ^a ?una lista de los diferentes comandos que puede usar dentro de una pantalla.

Los más importantes de estos (para mí) son:

  • ^a c para crear una nueva ventana en su sesión de pantalla.
  • ^a ^a para cambiar entre las dos últimas ventanas utilizadas.
  • ^a " para enumerar las ventanas actuales en su sesión.
  • ^a Esc para desplazarse en el búfer de su pantalla.
  • ^a k para matar la ventana actual.
  • ^a x para bloquear su sesión de pantalla, en caso de que necesite abandonar su computadora y no quiera que la gente se meta con ella.
Sebastian Paaske Tørholm
fuente
1

Una búsqueda rápida en Google encontró esta guía de pantalla

http://www.rackaid.com/resources/linux-tutorials/general-tutorials/using-screen/

Entonces, desde el paso b) puede separar la pantalla usando:

"Ctrl - A" "d"

y luego, después de que se haya perdido la conexión y esté conectado nuevamente, encuentre la pantalla usando:

# screen -ls

y luego vuelva a colocar usando:

# screen -r <screen_session_name>

Lyarwood
fuente
1

También puede configurar su entorno para iniciar sesión y comenzar la pantalla de inmediato. Hay muchas formas de hacerlo. Elegí agregar esto a mi archivo .bashrc.

# screen management
if [ $SSH_TTY ] && [ ! $WINDOW ]; then
  SCREENLIST=`screen -ls | grep 'Attached'`
  if [ $? -eq "0" ]; then
    echo -e "Screen is already running and attached:\n ${SCREENLIST}"
  else
    screen -U -R
  fi
fi
caballo pálido
fuente
0

Estarías buscando

screen -x
Matthew Scharley
fuente
0

El paso 4 es "screen -r"

Si se desconectó con mucha fuerza, es posible que deba hacer "screen -r -d" para forzarlo a desconectarse de su antigua sesión ssh, que cree que aún está abierta.

Hugh Perkins
fuente
0
 For windows system

 Open putty 
 then login in server

Si desea ver la pantalla en la consola, debe escribir el comando

 Screen -ls

si tiene que acceder a la pantalla, debe usar el siguiente comando

 screen -x screen id
Ankit jain
fuente