O tmux morreu e diz "sem sessões" - existe alguma maneira de se recuperar?

18

Isso é péssimo.

$ tmux attach-session
no sessions

Meu sysadmin atualizou o tmux e agora não consigo reconectar. Meus processos ainda estão em execução de acordo com ps ux. Existe alguma esperança de recuperar minha sessão?

Atualização : Há um soquete /tmp/tmux-1234, então tentei tmux -L /tmp/tmux-1234/default attach, mas o tmux não faz nada. Viva.

um nerd pago
fonte

Respostas:

36

A maneira mais rápida de determinar se você pode se recuperar é:

killall -10 tmux

Isso enviará o sinal para recriar todos os arquivos de soquete para qualquer processo tmux em execução. Se você não é root, não há problema, apenas sinalizará seu processo tmux de qualquer maneira.

Para encurtar a história, se o tmux não estiver em execução (ps xu | grep tmux), você está ferrado :(

h0tw1r3
fonte
2
Isso funciona, mas eu estava confuso sobre o porquê disso. Acontece que o sinal 10 é um sinal definido pelo usuário , e o tmux diz que "recriará o soquete do servidor no SIGUSR1" .
DaoWen
Como isso pode ajudar outras pessoas: eu tive que encontrar o PID do processo tmux executando minha sessão perdida e o fiz kill -10 "PID".
user35915
(1) Obrigado por esta resposta, me poupou muito trabalho :) (2) Eu acho que seria útil mencionar que as mensagens que você recebe quando outro usuário também está executando o tmux, ou seja tmux(12345): Operation not permitted, são esperadas.
David Z
@DaoWen de acordo com o sinal man (7), o valor do sinal 10 corresponde a SIGUSR1, então tudo está bem
spinup
2

Não há garantia de que o tmux seja compatível entre as atualizações; peça ao administrador do sistema que o informe antes de fazer atualizações ou use uma cópia que você construiu localmente e com menor probabilidade de ele mexer.

Prumo
fonte