sessão tmux perdida em pts desconhecidos, causa e possível solução?

24

Eu estava tentando voltar a anexar a uma sessão tmux de longa duração para verificar um aplicativo da web em python. No entanto, tmux attach afirma que não há sessão em execução e ps mostra um% de processo tmux (primeira linha), mas com um ponto de interrogação em vez do número pts .

O que isso significa --- esta sessão do tmux está permanentemente perdida, e o que poderia tê-la causado? Ainda existe uma maneira de olhar para o estado atual do processo python, gerado na sessão do tmux e rodando em pts/19 (segunda linha)?

[mhermans@web314 ~]$ ps -ef | grep mhermans
mhermans 16709     1  0 Mar04 ?        00:26:32 tmux
mhermans  8526 16710  0 Mar04 pts/19   00:20:04 python2.7 webapp.py
root      9985  6671  0 10:18 ?        00:00:00 sshd: mhermans [priv]
mhermans 10028  9985  0 10:18 ?        00:00:00 sshd: mhermans@pts/16
mhermans 10030 10028  0 10:18 pts/16   00:00:00 -bash
mhermans 16247 10030  6 10:28 pts/16   00:00:00 ps -ef
mhermans 16276 10030  0 10:28 pts/16   00:00:00 grep mhermans
mhermans 16710 16709  0 Mar04 pts/19   00:00:00 -bash
mhermans 16777 16709  0 Mar04 pts/21   00:00:00 -bash
    
por mhermans 16.06.2012 / 10:48

2 respostas

29

Solução cortesia da suporte a Webfaction :

Como o processo ainda estava em execução, o problema era um soquete excluído, possivelmente causado por um diretório tmp removido.

De acordo com o tmux mapage:

If the socket is accidentally removed, the SIGUSR1 signal may be sent to the tmux server process to recreate it.

Então, enviando o sinal e anexando trabalhos:

killall -s SIGUSR1 tmux
tmux attach
    
por 19.06.2012 / 20:59
6

A ausência do terminal é um sinal de sessão separada. E todos os seus nomes de sessão tmux podem ser encontrados assim:

ls $TMP/tmux-$(id -u) ou ls /var/run/tmux/tmux-$(id -u)

- isso é um pouco dependente da distribuição. Quase independente de distro (e mais hardcore) seria:

lsof -n -p 16709 -a -U

onde 16709 é o PID do tmux na sua listagem.

    
por 16.06.2012 / 15:58