मेरे पास एक उच्च-उपलब्धता क्लस्टर (हार्टबीट) सीरियल लाइन और दो ईथरनेट एनआईसी के माध्यम से जुड़ा हुआ है। मैं एक मॉनिटरिंग स्क्रिप्ट सेट करना चाहूंगा जो डिस्कनेक्ट की गई सीरियल लाइन को पहचानने में सक्षम हो (मूल रूप से एसओ पर एक ही सवाल का जवाब दिया गया था , हालांकि मैं इस तरह के सामान्य उत्तर से संतुष्ट नहीं हूं)।
मैं केवल सीरियल डिवाइस नहीं खोल सकता और डेटा को खुद पढ़ सकता हूं, क्योंकि सीरियल लाइन को हार्टबीट द्वारा खोला जाता है।
इसलिए मैंने कुछ अप्रत्यक्ष सुराग तलाशने शुरू किए। अभी तक जो एकमात्र अंतर मैंने पाया है, वह सामग्री में है /proc/tty/driver/serial
। जब यह जुड़ा होता है तो यह कैसा दिखता है:
# cat /proc/tty/driver/serial
serinfo:1.0 driver revision:
0: uart:16550A port:000003F8 irq:4 tx:2722759 rx:2718165 brk:1 RTS|CTS|DTR|DSR|CD
और जब डिस्कनेक्ट किया गया:
# cat /proc/tty/driver/serial
serinfo:1.0 driver revision:
0: uart:16550A port:000003F8 irq:4 tx:2725233 rx:2720703 brk:1 RTS|DTR
मैं यह तय करने के लिए पर्याप्त आश्वस्त नहीं हूं कि लाइन के अंत में सूचीबद्ध संकेतों का कनेक्ट / डिस्कनेक्टेड केबल का बहुत अर्थ है क्योंकि मुझे / proc / tty / ड्राइवर / सीरियल की सामग्री पर कोई दस्तावेज़ नहीं मिला है। मैं केवल यह मान सकता हूं कि संकेत की उपस्थिति का मतलब है कि दिया गया संकेत "अभी" पर है (या हाल के दिनों में था? या?)। सीरियल विधिपत्र का कहना है कि अतिरिक्त संकेतों जब केबल (सीटीएस प्रवाह नियंत्रण संकेत, DSR, सीडी "मोडेम एक और से जुड़ा" "मैं बातचीत करने के लिए तैयार हूँ") से जुड़ा हुआ है प्रस्तुत "इनपुट" दिशा में सभी कर रहे हैं। इसलिए दूसरे छोर पर किसी को जीवित होना है।
यह मानते हुए कि संकेतों के अर्थ को सीरियल HOWTO में वर्णित किया गया है, मैं अपने निर्णय का आधार सीडी संकेत कह सकता हूं। हालांकि मैं वास्तव में निश्चित नहीं हूं।
तो सवाल यह है: क्या मेरा तरीका "सही" है, या क्या मेरे पास कोई बेहतर विकल्प है जिसकी मुझे जानकारी नहीं है?
संपादित करें: मैंने कुछ अतिरिक्त अवलोकन किए और अपने सहयोगी के साथ बातचीत की। लाइन के अंत में संकेतों की उपस्थिति या अनुपस्थिति को बाहर करता है, दोनों छोरों पर सीरियल पोर्ट गतिविधि का काफी अच्छा संकेतक है। हालांकि, यह एक केबल की भौतिक उपस्थिति का संकेतक नहीं है। जब भी सीरियल पोर्ट आउटगोइंग सिग्नल पर लिखने का कार्यक्रम मौजूद होता था (RTS | DTR)। जब दूसरा पक्ष लिख रहा था आने वाले संकेत मौजूद थे (CTS | DSR | सीडी)। जब कोई भी पक्ष संवाद नहीं करता है, तो कोई संकेत नहीं होता है (इसका मतलब यह नहीं है कि कोई केबल मौजूद नहीं है)। यह मत भूलो कि सटीक संकेत केबल के तारों पर निर्भर करते हैं (मेरे पास "आंशिक हैंडशेकिंग के साथ अशक्त मॉडेम है")।