OK, soy nuevo en esto. Lo instalé tmuxpara ejecutar un experimento de varios días. Después de escribir tmux new -s name, obtuve una nueva ventana con un banner verde en la parte inferior. Compilo y ejecuto el programa java. Ahora no sé cómo salir de la ventana (mientras la dejo en funcionamiento). El cursor bash (o lo que sea) no responde porque el programa java todavía se está ejecutando. Mi solución hasta ahora es salir completamente del programa Terminal y volver a abrirlo. ¿Alguna idea sobre cómo salir de la ventana tmux sin salir de todo el programa Terminal?
80

man tmux | less -p detachRespuestas:
Separar de la sesión actualmente adjunta
Sesión
Ctrl+ b do Ctrl+b
:detachPantalla
Ctrl+ a Ctrl+ do Ctrl+a
:detachfuente
tmux attachpara ingresar a la sesión abierta nuevamente después de volver a conectarse.ENTER ~ .Esto parece más agradable.Las respuestas anteriores son incompletas, creo. Lo que
:detachhace es cerrar las ventanas gráficas que muestran actividad tmux. Sin embargo, tmux todavía se está ejecutando en segundo plano, como puede ver ejecutandops:myuser 1799 0.0 0.0 2500052 4632 ?? Ss 21Feb16 0:48.39 tmux new-session -s DevDe hecho, incluso si sale del terminal y lo inicia de nuevo, los procesos tmux TODAVÍA se ejecutan en segundo plano.
Para matar el proceso tmux en sí, debes hacer lo siguiente:
tmux kill-session [-t session_name]o simplemente:
kill -9 1799fuente
tmux attach-session.kill -9es absolutamente la manera incorrecta (tm) de hacer esto. Esto envía unaSIGKILLseñal que no permitirá que el proceso se limpie después de sí mismo, lo que puede causar serios problemas con los recursos colgantes.SIGKILLsolo debe usarse cuando a un proceso ya se le ha pedido cortésmente que lo limpie y cierre por víaSIGTERMo similar y, por cualquier razón, se niegue a hacerlo; incluso entonces, uno debería evitar enviarSIGKILLsi pueden. Esta respuesta infiere (incorrectamente) que debería ser una de las primeras cosas que una persona debería hacer para cerrar un proceso en segundo plano como un servidor tmux.