Pregunta Elimine la sesión de pantalla desconectada [cerrada]


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

pantalla -X -S [session # que quieres matar] kill

donde [session # you want kill] se puede obtener de

pantallas -ls   .

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


677
2017-10-02 13:58


origen


Respuestas:


"matar" solo matará una ventana de pantalla. Para "matar" la sesión completa, usa quit.

Ejemplo

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

951
2017-10-02 14:10



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

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

    ~ $ lista de pantallas
        Hay pantallas en:
             20751.Melvin_Peter_V42 (Independiente)
    

    Nota: 20751.Melvin_Peter_V42 es tu identificación de sesión

  2. Súmate a la sesión de pantalla separada

    pantalla -r 20751.Melvin_Peter_V42
  3. Una vez conectado a la sesión, presione Ctrl + UN luego escribe :quit


440
2018-02-22 03:15



Pantallas de la lista:

screen -list

Salida:

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 la sesión de la pantalla:

screen -S 23536 -X quit

110
2017-10-04 12:52



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

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

104
2017-09-30 13:09



Puede ir al lugar donde se encuentra y ejecuta la sesión de pantalla:

 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 solo 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 archivarlo más. Ahora asegúrate de escribir esto:

screen -ls

y deberías obtener:

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


40
2017-09-29 18:44



screen -wipe

Debería limpiar todo muerto sesiones de pantalla.


23
2018-05-07 22:03



Para mi un simple

exit

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


17
2017-10-18 04:52



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.


17
2018-02-28 00:01



Matar todas sesiones de pantalla separadas, 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, llame killd


15
2018-01-21 21:02



== 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.

7
2018-06-30 16:14



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

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

No es necesario molestarse con la identificación de sesión de la pantalla, etc.


5
2018-03-02 11:21