Ich habe versucht, erneut eine Verbindung zu einer lang laufenden tmux-Sitzung herzustellen, um eine Python-Webanwendung zu überprüfen. tmux attach
Behauptet jedoch , dass es keine laufende Sitzung gibt und ps
zeigt einen tmux
Prozess (erste Zeile), aber mit einem Fragezeichen anstelle der pts
Nummer.
Was bedeutet das - ist diese tmux-Sitzung dauerhaft verloren gegangen und was könnte sie verursacht haben? Gibt es noch eine Möglichkeit, den aktuellen Status des Python-Prozesses anzuzeigen, der in der tmux-Sitzung erzeugt wurde und in der pts/19
zweiten Zeile ausgeführt wird?
[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
tmux ls
zeigt?Antworten:
Lösung mit freundlicher Genehmigung des Webfaction-Supports :
Da der Prozess noch lief, war das Problem ein gelöschter Socket, möglicherweise verursacht durch ein gelöschtes tmp-Verzeichnis.
Nach der
tmux
Karte:Also das Signal senden und anhängen klappt:
quelle
byobu
, dietmux
als Backend verwendet wird, und dies hat bei mir funktioniert, nachdem ich versehentlich den Socket von gelöscht habe/tmp/tmux-<pid>
. Vielen Dank!Die terminale Abwesenheit ist ein Zeichen für eine getrennte Sitzung. Und alle Ihre
tmux
Sitzungsnamen können so gefunden werden:ls $TMP/tmux-$(id -u)
oderls /var/run/tmux/tmux-$(id -u)
- Das ist irgendwie distro-abhängig. Fast distro-unabhängig (und eher hardcore) wäre:
lsof -n -p 16709 -a -U
Wo
16709
ist die PID von tmux in Ihrem Eintrag.quelle
id -u
gibt532
und/tmp/tmux-532
enthält eine einzelne Datei "default". Wie hilft mir das weiter?tmux -S /tmp/tmux-532/default at
, aber der Standard-Socket-Name sollte in Ordnung seintmux at
. Was sagtlsof
-version?lsof -v
Ausgabe .lsof
Wie in meiner Antwort angegeben, Alter. :)