सवाल " मृत लेकिन subsys लॉक" क्या मतलब है?


मैं एक सेंटोस बॉक्स पर memcached चलाने की कोशिश कर रहा हूँ और यह थोड़ी देर के लिए चलाता है, लेकिन फिर इस राज्य में समाप्त होता है:

memcached मृत लेकिन subsys बंद कर दिया

नेटस्टैट यह दिखाता है:

tcp        0      0 :::11211                    :::*                        LISTEN      
udp        0      0 0.0.0.0:11211               0.0.0.0:*                               

पीएस यह दिखाता है:

nobody   21983  0.0  1.8  60272 19912 ?        Ssl  16:46   0:00 memcached -d -p 11211 -u nobody -c 1024 -m 64

किसी को पता है इसका क्या मतलब है?


36
2018-06-16 00:43


मूल




जवाब:


इसका मतलब है कि सेवा एक समय में चल रही थी, लेकिन दुर्घटनाग्रस्त हो गई है।

जब आप कोई सेवा शुरू करते हैं, तो यह संकेत देने के लिए "लॉक" फ़ाइल बनाता है कि सेवा चल रही है। यह सेवा के कई उदाहरणों से बचने में मदद करता है। जब आप किसी सेवा को रोकते हैं, तो यह लॉक फ़ाइल हटा दी जाती है।

जब कोई चलती सेवा क्रैश हो जाती है, तो लॉक फ़ाइल मौजूद होती है लेकिन प्रक्रिया अब मौजूद नहीं है। इस प्रकार, संदेश।

दो क्षेत्रों को देखो /var/run/*.pid तथा /var/lock/subsys/*। ये एक-दूसरे से सहमत होने की उम्मीद है। यही है, अगर (emtpy फ़ाइल) लॉकफाइल /var/lock/subsys/crond मौजूद है, फिर फ़ाइल की पहली पंक्ति /var/run/crond.pid इस सेवा के लिए चल रही प्रक्रिया के पीआईडी ​​को शामिल करने की उम्मीद है। अगर ऐसी कोई प्रक्रिया नहीं चल रही है, तो कुछ गलत है। यदि एक प्रक्रिया वास्तव में चल रही है (जैसा कि आप देखते हैं) लेकिन यह नहीं है उस पीआईडी, तो शायद कुछ उलझन में है।


59
2018-06-16 00:47



क्या यह अभी भी चल रहा है अगर यह बंदरगाह से बंधे और पीएस में सूचीबद्ध है? - Nick Brosnahan
मैंने अपना जवाब बढ़ाया। "Ls / var / lock / subsys / memcached" (मुझे लगता है कि यह फ़ाइल मौजूद है) और फिर "cat /var/run/memcached.pid" करें और पहली पंक्ति को देखें। पहली पंक्ति पीआईडी ​​है जिसे आपको memcached के लिए देखने की उम्मीद करनी चाहिए। - Eddie
क्षमा करें, मुझे पता चला कि क्या हो रहा था। यह अभी भी चल रहा था। मैंने इसे "सुडो / sbin / सेवा memcached start" का उपयोग करके लॉन्च किया, लेकिन मेरे इतिहास में वापस देखकर, मुझे "/ sbin / service memcached सेवा" का उपयोग करके स्थिति मिली। PEBCAK। सब ठीक हैं। आपकी सहायता के लिए धन्यवाद। - Nick Brosnahan
आह, और स्थिति को रूट के रूप में नहीं चलाते हैं, हो सकता है कि आपने /var/run/memcached.pid तक पहुंच को पढ़ नहीं लिया हो, इस प्रकार, आदेश माना जाता है कि सबसिस्टम मर चुका था क्योंकि यह सही प्रक्रिया का पता नहीं लगा सका। - Eddie