tmux meninggal dan mengatakan "tidak ada sesi" - apakah ada cara untuk pulih?

18

Ini menyebalkan.

$ tmux attach-session
no sessions

Sysadmin saya meningkatkan tmux dan sekarang saya tidak dapat memasang kembali. Proses saya masih berjalan sesuai dengan ps ux. Apakah ada harapan untuk memulihkan sesi saya?

Pembaruan : Ada soket /tmp/tmux-1234, jadi saya mencoba tmux -L /tmp/tmux-1234/default attach, tetapi tmux tidak melakukan apa pun. Hore.

kutu buku yang dibayar
sumber

Jawaban:

36

Cara tercepat untuk menentukan apakah Anda dapat memulihkan adalah:

killall -10 tmux

Itu akan mengirim sinyal untuk membuat ulang semua file socket untuk setiap proses tmux yang berjalan. Jika Anda tidak root, tidak masalah itu hanya akan menandakan proses tmux Anda.

Singkatnya, jika tmux tidak berjalan (ps xu | grep tmux), Anda kacau :(

h0tw1r3
sumber
2
Ini berhasil, tetapi saya bingung mengapa itu berhasil. Ternyata sinyal 10 adalah sinyal yang ditentukan pengguna , dan tmux mengatakan akan "membuat ulang soket server pada SIGUSR1" .
DaoWen
Karena dapat membantu orang lain: Saya harus menemukan PID dari proses tmux menjalankan sesi saya yang hilang dan melakukannya kill -10 "PID".
user35915
(1) Terima kasih atas jawaban ini, saya menghemat banyak pekerjaan :) (2) Saya pikir akan sangat membantu untuk menyebutkan bahwa pesan yang Anda dapatkan ketika pengguna lain juga menjalankan tmux, yaitu tmux(12345): Operation not permitted, diharapkan.
David Z
@PORWen menurut man signal (7), nilai sinyal 10 tidak sesuai dengan SIGUSR1, jadi semuanya baik
spinup
2

tmux tidak dijamin kompatibel di seluruh pembaruan; minta sysadmin Anda untuk memberi tahu Anda sebelum melakukan peningkatan atau gunakan salinan yang Anda buat secara lokal yang kemungkinan besar tidak akan membuatnya berantakan.

Bob
sumber