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.

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 :(


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.