tmux murió y dice "no hay sesiones": ¿hay alguna forma de recuperarse?


18

Esto apesta.

$ tmux attach-session
no sessions

Mi administrador de sistemas actualizó tmux y ahora no puedo volver a conectarlo. Mis procesos todavía se están ejecutando de acuerdo con ps ux. ¿Hay alguna esperanza de recuperar mi sesión?

Actualización : hay un socket /tmp/tmux-1234, así que lo intenté tmux -L /tmp/tmux-1234/default attach, pero tmux no hace nada. ¡Hurra!

Respuestas:


36

Esta forma más rápida de determinar si puede recuperarse es:

killall -10 tmux

Eso enviará la señal para recrear todos los archivos de socket para cualquier proceso tmux en ejecución. Si no eres root, no hay problema, de todos modos solo indicará tu proceso tmux.

En pocas palabras, si tmux no se está ejecutando (ps xu | grep tmux), estás jodido :(


2
Esto funciona, pero estaba confundido acerca de por qué funciona. Resulta que la señal 10 es una señal definida por el usuario , y tmux dice que "recreará el socket del servidor en SIGUSR1" .
DaoWen

Como podría ayudar a otros: tuve que encontrar el PID del proceso tmux que ejecuta mi sesión perdida y hacerlo kill -10 "PID".
user35915

(1) Gracias por esta respuesta, me ahorró un montón de trabajo :) (2) Creo que sería útil mencionar que tmux(12345): Operation not permittedse esperan los mensajes que recibe cuando otro usuario también está ejecutando tmux .
David Z

@DaoWen de acuerdo con la señal de hombre (7), el valor de la señal 10 corresponde a SIGUSR1, por lo que todo está bien
spinup

2

No se garantiza que tmux sea compatible en todas las actualizaciones; solicite a su administrador de sistemas que le informe antes de realizar actualizaciones o use una copia que haya creado localmente con la que es menos probable que se meta.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.