tmux सेशन अज्ञात पीटी में खो गया, कारण और संभव समाधान?


27

मैं एक अजगर-वेब-एप्लिकेशन पर जांच के लिए एक लंबे समय से चल रहे tmux सत्र को फिर से संलग्न करने की कोशिश कर रहा था। हालांकि, tmux attachदावा करता है कि कोई सत्र नहीं चल रहा है, और psएक tmuxप्रक्रिया (पहली पंक्ति) दिखाता है , लेकिन ptsसंख्या के बजाय प्रश्न चिह्न के साथ ।

इसका क्या अर्थ है --- क्या यह tmux सत्र स्थायी रूप से खो गया है, और इसका क्या कारण हो सकता है? क्या अभी भी अजगर प्रक्रिया की वर्तमान स्थिति को देखने के लिए एक तरीका है, जो tmux सत्र में स्पैन किया गया और pts/19(दूसरी पंक्ति) में चल रहा है ?

[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

क्या tmux lsदिखाता है?
जसोनव्रीयन

"सर्वर से कनेक्ट करने में विफल: कनेक्शन ने इनकार कर दिया"
mhermans

जवाबों:


40

वेबफ़िकेशन-समर्थन का समाधान शिष्टाचार :

जैसा कि प्रक्रिया अभी भी चल रही थी, मुद्दा एक हटाए गए सॉकेट था, संभवतः एक शुद्ध tmp- निर्देशिका के कारण।

tmuxनक्शे के अनुसार :

यदि सॉकेट गलती से हटा दिया जाता है, तो SIGUSR1 सिग्नल को पुनः बनाने के लिए tmux सर्वर प्रक्रिया में भेजा जा सकता है।

तो संकेत भेजने और काम करता है संलग्न:

killall -s SIGUSR1 tmux
tmux attach

मैं उपयोग कर रहा हूं byobu, जो tmuxएक बैकएंड के रूप में उपयोग करता है , और यह मेरे लिए काम करने के बाद मैंने गलती से सॉकेट को हटा दिया /tmp/tmux-<pid>। धन्यवाद!
निकु स्तिर्का

7

टर्मिनल अनुपस्थिति अलग सत्र का संकेत है। और आपके सभी tmuxसत्र नाम इस प्रकार पाए जा सकते हैं:

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

- यह थोड़े डिस्ट्रो-डिपेंडेंट है। लगभग दूर-स्वतंत्र (और अधिक कट्टर) होगा:

lsof -n -p 16709 -a -U

16709आपकी सूची में tmux का पीआईडी कहाँ है।


id -uएकल फ़ाइल "डिफ़ॉल्ट" देता है 532और /tmp/tmux-532उसमें समाहित है। यह मुझे आगे कैसे मदद करता है?
मुहूर्तों

कोशिश करो tmux -S /tmp/tmux-532/default at, लेकिन डिफ़ॉल्ट सॉकेट-नाम के साथ बस ठीक होना चाहिए tmux atlsof-विरोध क्या कहता है?
१।

पहले कमांड का परिणाम "सत्र नहीं" प्रतिक्रिया में होता है। lsof -v आउटपुट
मुहूर्तों

lsofजैसा कि मेरे उत्तर में दिया गया है, यार। :)
१12

@ मेरे शब्द, मेरा मतलब है कि मेरे उत्तर का lsof- संस्करण, हमें इसके सॉफ़्टवेयर संस्करण की आवश्यकता नहीं है। :)
poige
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.