tmux умер и говорит «нет сессий» - есть ли способ восстановиться?


18

Это отстой.

$ tmux attach-session
no sessions

Мой системный администратор обновил tmux, и теперь я не могу подключиться. Мои процессы все еще работают в соответствии с ps ux. Есть ли надежда на восстановление моей сессии?

Обновление : есть сокет /tmp/tmux-1234, так что я попробовал tmux -L /tmp/tmux-1234/default attach, но tmux ничего не делает. Ура.

Ответы:


36

Это самый быстрый способ определить, можете ли вы восстановить данные:

killall -10 tmux

Это отправит сигнал на воссоздание всех файлов сокетов для любых запущенных процессов tmux. Если вы не root, нет проблем, это все равно будет сигнализировать вашему процессу tmux.

Короче говоря, если tmux не запущен (ps xu | grep tmux), вы облажались :(


2
Это работает, но я не понял, почему это работает. Оказывается, сигнал 10 является определяемым пользователем сигналом , и tmux говорит, что он «воссоздает сокет сервера на SIGUSR1» .
DaoWen

Как это может помочь другим: мне нужно было найти PID процесса tmux, выполняющего мой потерянный сеанс, и сделать это kill -10 "PID".
user35915

(1) Спасибо за этот ответ, это сэкономило мне массу работы :) (2) Я думаю, что было бы полезно упомянуть, что сообщения, которые вы получаете, когда другой пользователь также запускает tmux, а именно tmux(12345): Operation not permitted, ожидаются.
Дэвид З,

@DaoWen в соответствии с сигналом человека (7), значение сигнала 10 соответствует SIGUSR1, так что все в порядке
раскрутка

2

tmux не гарантирует совместимость между обновлениями; попросите своего системного администратора сообщить вам об этом перед выполнением обновлений или использовать созданную вами локальную копию, с которой он вряд ли будет связываться.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.