Aprendí de algún lado que una pantalla separada puede ser asesinada por
screen -X -S [session # you want to kill] kill
de donde se puede obtener [sesión # que quieres matar]
screen -ls
Pero esto no funciona. ¿Nada malo? ¿Cuál es la forma correcta?
linux
kill
gnu-screen
Tim
fuente
fuente

screen -S sessionname -p 0 -X quitRespuestas:
"kill" solo matará una ventana de pantalla. Para "matar" la sesión completa, use
quit.Ejemplo
Para sesiones muertas use: $ screen -wipe
fuente
exitfunciona pero debe escribirse en cada pantalla que se abrió.quitni siquiera funcionascreen -X quiten ningún termina terminales todas las sesiones activasPuede matar una sesión separada que no responde dentro de la sesión de pantalla haciendo lo siguiente.
Escriba
screen -listpara identificar la sesión de pantalla separada.~ $ screen -list Hay pantallas en: 20751.Melvin_Peter_V42 (Independiente)Nota:
20751.Melvin_Peter_V42es su id de sesión.Adjuntarse a la sesión de pantalla separada
Una vez conectado a la sesión, presione Ctrl+ y Aluego escriba
:quitfuente
quity:quitconducen acommand not founden mi servidor Linux remoto (tal vez las diferencias entre las versiones del sistema operativo o de la pantalla son los culpables)exittambién funcionaLista de pantallas:
Salida:
Kill screen session:
fuente
Es más fácil matar una sesión, cuando se le da un nombre significativo:
fuente
screen -Sy noscreen -r?Simplemente puede ir al lugar donde se aloja la sesión de pantalla y ejecutar:
lo que resulta en
Y solo quítalo:
El
uscreensdirectorio ya no tendrá el26727.pts-0.devxxxarchivo. Ahora para asegurarse de escribir esto:screen -lsy deberías obtener:
fuente
ps aux | grep screenEncontré el pid y emití unkillpara eliminarlo. Dependiendo de lo que haya ejecutado en su pantalla, también puede tener archivos temporales y bloqueos para limpiar.Debe limpiar todas las sesiones de pantalla muerta .
fuente
agregue esto a su
~/.bashrc:Luego, use
cleanscreenpara limpiar todas las sesiones de pantalla.fuente
screen -ls | grep Detached | cut -d. -f1 | awk '{print $1}' | xargs killscreen -ls | tail +2 | head -2 | awk '{print $1}'| xargs -I{} screen -S {} -X quitPara mi un simple
trabajos. Esto es desde dentro de la sesión de pantalla.
fuente
:quitPara eliminar todas las sesiones de pantalla separadas, incluya esta función en su archivo.
para ejecutarlo, llame
killdfuente
fuente
Alternativamente, mientras está en su sesión de pantalla, todo lo que tiene que hacer es escribir exit
Esto matará 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 pantalla, etc.
fuente