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 quit
Respuestas:
"kill" solo matará una ventana de pantalla. Para "matar" la sesión completa, use
quit
.Ejemplo
Para sesiones muertas use: $ screen -wipe
fuente
exit
funciona pero debe escribirse en cada pantalla que se abrió.quit
ni siquiera funcionascreen -X quit
en 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 -list
para identificar la sesión de pantalla separada.Nota:
20751.Melvin_Peter_V42
es 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
:quit
fuente
quit
y:quit
conducen acommand not found
en mi servidor Linux remoto (tal vez las diferencias entre las versiones del sistema operativo o de la pantalla son los culpables)exit
tambié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 -S
y 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
uscreens
directorio ya no tendrá el26727.pts-0.devxxx
archivo. Ahora para asegurarse de escribir esto:screen -ls
y deberías obtener:
fuente
ps aux | grep screen
Encontré el pid y emití unkill
para 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
cleanscreen
para limpiar todas las sesiones de pantalla.fuente
screen -ls | grep Detached | cut -d. -f1 | awk '{print $1}' | xargs kill
screen -ls | tail +2 | head -2 | awk '{print $1}'| xargs -I{} screen -S {} -X quit
Para mi un simple
trabajos. Esto es desde dentro de la sesión de pantalla.
fuente
:quit
Para eliminar todas las sesiones de pantalla separadas, incluya esta función en su archivo.
para ejecutarlo, llame
killd
fuente
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