tmux oturumu bilinmeyen puanlarda kaybetti, nedeni ve olası çözüm?


27

Bir python web uygulamasını kontrol etmek için uzun süredir devam eden bir tmux oturumuna yeniden bağlanmaya çalışıyordum. Ancak tmux attach, çalışan bir oturum olmadığını iddia eder ve psbir tmuxişlem gösterir (ilk satır), ancak ptssayı yerine bir soru işareti bulunur .

Bu ne anlama geliyor --- bu tmux oturumu kalıcı olarak kayboluyor mu ve buna ne sebep olmuş olabilir? Smokin sürecinin şu anki durumuna bakıp, smokin seansında ortaya çıkıp pts/19(ikinci satırda) koşmanın bir yolu var mı ?

[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

Ne tmux lsgösterir?
jasonwryan

"sunucuya bağlanamadı: Bağlantı reddedildi"
mhermans

Yanıtlar:


40

Webfaction desteğinin nezaket çözümü :

İşlem devam ederken, sorun tasfiye edilmiş bir tmp dizininin neden olduğu silinmiş bir soketti.

tmuxHaritalamaya göre :

Soket yanlışlıkla çıkarılırsa, SIGUSR1 sinyali yeniden oluşturmak için tmux sunucu işlemine gönderilebilir.

Bu yüzden sinyal gönderme ve ekleme çalışmaları:

killall -s SIGUSR1 tmux
tmux attach

Arka uç olarak kullanılan byobukullanıyorum tmuxve bu yanlışlıkla soketi sildikten sonra benim için çalıştı /tmp/tmux-<pid>. Teşekkürler!
Nicu Stiurca

7

Terminal yokluğu, bağımsız oturumun bir işaretidir. Ve tmuxböylece tüm oturum isimlerinizi bulabilirsiniz:

ls $TMP/tmux-$(id -u) veya ls /var/run/tmux/tmux-$(id -u)

- bu biraz rahatsız edici. Neredeyse dağıtımdan bağımsız (ve daha sert):

lsof -n -p 16709 -a -U

16709Listenizdeki tmux'un kimliği nerede ?


id -uverir 532ve /tmp/tmux-532"varsayılan" tek bir dosya içerir. Bu bana daha fazla nasıl yardımcı olur?
mhermans

Deneyin tmux -S /tmp/tmux-532/default at, ancak varsayılan soket adı sadece tamam olmalıdır tmux at. Neyi lsof-version diyelim?
poige

İlk komut "oturum yok" yanıtıyla sonuçlanır. lsof -v çıktı .
mhermans

lsofCevabımda verildiği gibi, dostum. :)
poige

@mhermans, cevabımın bir versiyonunu kastediyordum, yazılım versiyonuna ihtiyacımız yok. :)
poige
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.