tmux è morto e dice "nessuna sessione" - c'è un modo per recuperare?


18

Questo fa schifo.

$ tmux attach-session
no sessions

Il mio amministratore di sistema ha aggiornato tmux e ora non riesco a ricollegarlo. I miei processi sono ancora in esecuzione secondo ps ux. C'è qualche speranza di recuperare la mia sessione?

Aggiornamento : c'è un socket /tmp/tmux-1234, quindi ho provato tmux -L /tmp/tmux-1234/default attach, ma tmux non fa nulla. Evviva.

Risposte:


36

Questo modo più rapido per determinare se è possibile recuperare è:

killall -10 tmux

Questo invierà il segnale per ricreare tutti i file socket per tutti i processi tmux in esecuzione. Se non sei root, nessun problema segnalerà comunque il tuo processo tmux.

Per farla breve, se tmux non è in esecuzione (ps xu | grep tmux), sei fregato :(


2
Funziona, ma ero confuso sul perché funziona. Si scopre che il segnale 10 è un segnale definito dall'utente e tmux dice che "ricrea il socket del server su SIGUSR1" .
DaoWen,

Come potrebbe aiutare gli altri: ho dovuto trovare il PID del processo tmux eseguendo la mia sessione persa e farlo kill -10 "PID".
user35915

(1) Grazie per questa risposta, mi ha risparmiato un sacco di lavoro :) (2) Penso che sarebbe utile menzionare che i messaggi che ricevi quando un altro utente sta eseguendo anche tmux tmux(12345): Operation not permittedsono attesi.
David Z,

@DaoWen secondo man signal (7), il valore del segnale 10 corrisponde a SIGUSR1, quindi tutto va bene
spinup

2

tmux non è garantito per essere compatibile con tutti gli aggiornamenti; chiedi al tuo amministratore di sistema di informarti prima di eseguire gli aggiornamenti o di utilizzare una copia che hai creato localmente con cui è meno probabile che si scherzi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.