in

linux: mata la sesión de pantalla separada

apple touch icon@2

linux: mata la sesión de pantalla separada


















Pedido

Visto1,7 millones de veces

Aprendí de algún lugar que una pantalla separada puede ser eliminada por

screen -X -S [session # you want to kill] kill

dónde [session # you want to kill] se puede obtener de

screen -ls

Pero esto no funciona. ¿Nada malo? ¿Cuál es la forma correcta?

5

«kill» solo matará una ventana de pantalla. Para «matar» la sesión completa, use quit.

Ejemplo

$ screen -X -S [session # you want to kill] quit

Para sesiones muertas, use: $ screen -wipe

7

Puede eliminar una sesión separada que no responde dentro de la sesión de pantalla haciendo lo siguiente.

  1. Escribe screen -list para identificar la sesión de pantalla separada.

    ~$ screen -list  
        There are screens on:  
             20751.Melvin_Peter_V42  (Detached)  
    

    Nota: 20751.Melvin_Peter_V42 es su ID de sesión.

  2. Conéctese a la sesión de pantalla separada

    screen -r 20751.Melvin_Peter_V42
  3. Una vez conectado a la sesión, presione control + A luego escribe :quit

4

Pantallas de lista:

screen -list

Producción:

There is a screen on:
23536.pts-0.wdzee       (10/04/2012 08:40:45 AM)        (Detached)
1 Socket in /var/run/screen/S-root.

Matar sesión de pantalla:

screen -S 23536 -X quit

1

Es más fácil matar una sesión cuando se le da un nombre significativo:

//Creation:
screen -S some_name proc
// Kill detached session
screen -S some_name -X quit

2

Simplemente puede ir al lugar donde se encuentra la sesión de pantalla y ejecutar:

 screen -ls

lo que resulta en

 There is a screen on:
         26727.pts-0.devxxx      (Attached)
 1 Socket in /tmp/uscreens/S-xxx. <------ this is where the session is.

Y simplemente quítalo:

  1. cd /tmp/uscreens/S-xxx
  2. ls
  3. 26727.pts-0.devxxx
  4. rm 26727.pts-0.devxxx
  5. ls

los uscreens directorio no tendrá el 26727.pts-0.devxxx archivo en él más. Ahora para asegurarse, simplemente escriba esto:

screen -ls

y deberías obtener:

No se encontraron sockets en / tmp / uscreens / S-xxx.

2

screen -wipe

Debería limpiar todo muerto sesiones de pantalla.

2

agrega esto a tu ~/.bashrc:

alias cleanscreen="screen -ls | tail -n +2 | head -n -2 | awk '{print $1}'| xargs -I{} screen -S {} -X quit"

Entonces usa cleanscreen para limpiar toda la sesión de pantalla.

3

Para mi un simple

exit

obras. Esto es desde dentro de la sesión de pantalla.

3

Matar todos sesiones de pantalla separada, incluya esta función en su .bash_profile:

killd () {
for session in $(screen -ls | grep -o '[0-9]{5}')
do
screen -S "${session}" -X quit;
done
}

para ejecutarlo, llama killd

1

== ISSUE THIS COMMAND
[xxx@devxxx ~]$ screen -ls


== SCREEN RESPONDS
There are screens on:
        23487.pts-0.devxxx      (Detached)
        26727.pts-0.devxxx      (Attached)
2 Sockets in /tmp/uscreens/S-xxx.


== NOW KILL THE ONE YOU DONT WANT
[xxx@devxxx ~]$ screen -X -S 23487.pts-0.devxxx kill


== WANT PROOF?
[xxx@devxxx ~]$ screen -ls
There is a screen on:
        26727.pts-0.devxxx      (Attached)
1 Socket in /tmp/uscreens/S-xxx.

2

Alternativamente, mientras está en su sesión de pantalla, todo lo que tiene que hacer es escribir Salida

Esto matará la sesión de shell iniciada por la pantalla, lo que efectivamente termina la sesión de pantalla en la que se encuentra.

No es necesario preocuparse por la identificación de la sesión de pantalla, etc.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

¿Qué es SOAP?

gfg 200x200 min

Cómo funciona el método compare () en Java

Back to Top
close