एक्स फॉरवर्ड प्रोग्राम होने पर बाहर निकलने के बाद एसएसएच समाप्त नहीं हुआ


9

SSH पर X प्रोग्राम चलाने के बाद, SSH शेल के बाहर निकलने के बाद समाप्त नहीं होता है ( CtrlCइसे मारने के लिए उदा का उपयोग करना पड़ता है)।

मेरा अनुमान है कि हालांकि एक्स प्रोग्राम पहले से ही बाहर है, अभी भी कुछ "कनेक्शन" बचा है (मुक्त नहीं किया गया है)। अब मुझे जो अपवाद मिले हैं, वे हैं gtk-demoऔर acroread

क्या किसी को इसका कारण पता है? क्या यह ssh {, d} कॉन्फ़िगरेशन की समस्या है?


1
आप अपने लिए यह परीक्षण कर सकते हैं। -S के साथ ssh चलाएं और यह X11 कनेक्शन को रिपोर्ट करेगा जो खोला और बंद किया गया है।
काइल जोन्स

@KyleJones THX, लगता है कि यह समस्या है (दो "कनेक्शन" C-cको दबाए जाने के बाद मुक्त किया गया है)।
yuyichao

मैं `ve किसी भी X11- खिड़की के साथ SLES11 पर एक ही समस्या है। आपने नीचे dbus को कैसे ट्रेस किया?
निल्स

आप बस अपने अनुसार चल रही प्रक्रिया की जांच कर सकते हैं (यदि कोई अन्य सक्रिय सत्र नहीं है)। मैं systemd का उपयोग करता हूं और इसे sshd (pam सेटिंग) में सक्षम किया है, इसलिए ssh सत्र की सभी प्रक्रिया एक ही cgroup में है, जो वास्तव में जांचना आसान बनाता है। ~~
yuyichao

जवाबों:


5

X प्रोग्राम शुरू करने से संभवतः एक पृष्ठभूमि प्रक्रिया शुरू होती है जो प्रोग्राम को बंद करने पर समाप्त नहीं होती है (या प्रोग्राम स्वयं ठीक से समाप्त नहीं होता है)। क्या होता है की व्याख्या के लिए यहाँ देखें ।

इसे ठीक करने के लिए, आप यह पता लगाने की कोशिश कर सकते हैं कि कौन-सी प्रक्रियाएँ अभी भी चल रही हैं और या तो उन्हें एसएसएच के माध्यम से लॉग इन करने से पहले शुरू करें या जब आप लॉग आउट करें, तो उन्हें मार दें। एक बार जब आप लॉग आउट कर लेते हैं तो आप निश्चित रूप से सिर्फ SSH कनेक्शन को मार सकते हैं।


K, समस्या dbus (gconf) प्रक्रिया अभी भी चल रही है। ( systemd-cgls~~ के लिए धन्यवाद ) (मैंने killall -KILLखुद ही यह सोचकर कार्यक्रम की कोशिश की थी कि इससे पहले कुछ पृष्ठभूमि प्रक्रिया हो सकती है लेकिन ऐसा लगता नहीं है।) तो क्या चीजों को अच्छी तरह से करने का कोई तरीका है? (उदाहरण के लिए मारना dbus (gconf) स्वचालित रूप से) THX
yuyichao

1
आप killall dbusअपने में ऐसा कुछ डाल सकते हैं या कर सकते हैं .logout, लेकिन यह शायद अन्य चीजों को गड़बड़ करेगा (यानी जब आप स्थानीय रूप से लॉग इन हों)।
लार्स कोथॉफ

हम्म, लगता है कि मुझे इसे मैन्युअल रूप से करने की आवश्यकता है (अर्थात इसके लिए कोई प्रत्यक्ष विकल्प नहीं)। कम से कम मैं पहले से ही उपयोग कर रहा हूं kill-session=1और उम्मीद है कि systemd मुझे बता सकता है कि मारने की सही प्रक्रिया क्या है (अर्थात अन्य सत्रों में प्रक्रियाएं नहीं मारना।) ~~~ THX
yuyichao
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.