tmux ist gestorben und sagt "no sessions" - gibt es eine Möglichkeit, sich zu erholen?

18

Das ist scheiße.

$ tmux attach-session
no sessions

Mein Sysadmin hat tmux aufgerüstet und jetzt kann ich es nicht wieder anschließen. Meine Prozesse laufen noch nach ps ux. Gibt es Hoffnung, meine Sitzung wiederherzustellen?

Update : Es gibt eine Steckdose /tmp/tmux-1234, also habe ich es versucht tmux -L /tmp/tmux-1234/default attach, aber tmux macht nichts. Hurra.

ein bezahlter Nerd
quelle

Antworten:

36

Der schnellste Weg, um festzustellen, ob Sie sich erholen können, ist:

killall -10 tmux

Dadurch wird das Signal gesendet, alle Socket-Dateien für alle laufenden tmux-Prozesse neu zu erstellen. Wenn Sie kein root-Benutzer sind, signalisiert dies ohnehin nur Ihren tmux-Prozess.

Lange Rede kurzer Sinn, wenn tmux nicht läuft (ps xu | grep tmux), sind Sie fertig :(

h0tw1r3
quelle
2
Das funktioniert, aber ich war verwirrt, warum es funktioniert. Es stellt sich heraus, dass Signal 10 ein benutzerdefiniertes Signal ist , und tmux sagt, dass es "den Server-Socket auf SIGUSR1 neu erstellen" wird .
DaoWen
Wie es anderen helfen könnte: Ich musste die PID des tmux-Prozesses finden, der meine verlorene Sitzung ausführt, und tun kill -10 "PID".
user35915
(1) Danke für diese Antwort, es hat mir eine Menge Arbeit erspart :) (2) Ich denke, es wäre hilfreich zu erwähnen, dass die Nachrichten, die Sie erhalten, wenn ein anderer Benutzer ebenfalls tmux ausführt, nämlich tmux(12345): Operation not permittederwartet werden.
David Z
@DaoWen nach man signal (7) entspricht der Signalwert 10 SIGUSR1, also ist alles in
Ordnung
2

Es wird nicht garantiert, dass tmux mit allen Updates kompatibel ist. Bitten Sie Ihren Systemadministrator, Sie darüber zu informieren, bevor Sie Upgrades durchführen, oder verwenden Sie eine lokal erstellte Kopie, mit der er weniger wahrscheinlich in Konflikt gerät.

Bob
quelle