टेल -f टॉमकट को मरता है


0

हमारे पास एक बिल्ड फाइल है जो एक git चेकआउट करती है, एक युद्ध को संकलित करती है, tomcat को दर्शाती है और फिर catalina.log को टेल-ऑफ़ करती है। यदि ssh सत्र जिस पर यह किया जाता है वह किसी भी तरह से मर जाता है, भले ही हम केवल लॉग-टेल कर रहे हों, तो पूरे टोमैट उदाहरण की मृत्यु हो जाएगी। जाहिर है कि यह आदर्श नहीं है, लेकिन मैं जानना चाहता हूं कि ऐसा क्यों हो रहा है और इसे कैसे ठीक किया जाए।

जेंटू और उबंटू पर होता है (यानी दोनों मैं इस पर परीक्षण किया है)


1
यदि आप tail -fकमांड पर टिप्पणी करते हैं , तो क्या टॉमकैट अभी भी मर जाता है?
कीथ थॉम्पसन

अन्य प्रक्रियाएं शामिल हो सकती हैं। तो आप sshd प्रक्रिया के pstree को देखना चाहिए, जबकि tomcat चलता है।
आर्टिऑक्स

@ यहां: नहीं, जाहिर है अगर टेल -फ नहीं है, तो स्क्रिप्ट वापस आती है (0) और फिर बच्चे पार्क में खेलते हैं। मुझे पूंछ -f कार्यक्षमता पसंद है; लेकिन forked / पृष्ठभूमि प्रक्रियाओं के बिना मर रहा है।
नॉक्सविले

@artistoex: मैं उस पर एक प्रहार होगा, उम्मीद है कि वहाँ एक संकेत है (हालांकि मेरा मानना ​​है कि मैं इससे पहले इस पर विचार किया है)।
नॉक्सविले

जवाबों:


1

टर्मिनल से जुड़े एक इंटरेक्टिव शेल से d amons न चलाएं।

अपने सिस्टम के साथ आने वाले किसी भी सुपरवाइजर द्वारा प्रबंधित d bymons को ठीक से चलाने के लिए कॉन्फ़िगर करें, जिससे कुछ भी s6-superviseहो launchd। डॉमन्स को ऊपर और नीचे लाने के लिए प्रबंधन इंटरफ़ेस का उपयोग करें।

जब आपका SSH कनेक्शन खो जाता है, तो SSH सर्वर प्रक्रिया खुलने वाले छद्म टर्मिनल के मास्टर साइड को बंद कर देती है। यह SIGHUPसत्र लीडर प्रक्रिया, शीर्ष स्तर शेल, और अग्रभूमि प्रक्रिया समूह में सभी प्रक्रियाओं के लिए भेजे जाने का कारण बनता है । जब bashएक प्राप्त होता है SIGHUP, तो यह उन SIGHUPसभी बाल प्रक्रियाओं को भेजता है जिन्हें यह नहीं बताया गया है disown। उस पाठ्यक्रम में वह tomcatप्रक्रिया शामिल है जिसे आपने उस इंटरैक्टिव शेल से चलाया था।

Dmons के पास कोई नियंत्रण TTY नहीं होना चाहिए, और किसी भी प्रक्रिया समूह या सत्र से संबंधित नहीं होना चाहिए जो किसी भी TTY के लिए जाना जाता है, ऐसा न हो कि अप्रकाशित उपयोगकर्ता उन्हें यादृच्छिक और संभवतः अनपेक्षित सिग्नल भेज सकें। उन्हें आपके सिस्टम के d supervmon पर्यवेक्षक (s) से चलाना सुनिश्चित करेगा कि यह, और वास्तव में d ,mon की प्रक्रिया के अन्य सभी पहलू, dæmon प्रक्रिया के लिए उचित रूप से निर्धारित हैं। कई डॉमन सुपरवाइज़र, डॉमन के लिए भी लॉगिंग को स्वचालित रूप से संभाल लेंगे।

अपना tomcatदल ठीक से चलाएं ।

आगे की पढाई

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.