जवाबों:
यदि कर्नेल ने एक प्रक्रिया को मार दिया (क्योंकि सिस्टम मेमोरी से बाहर चला गया), तो एक कर्नेल लॉग संदेश होगा। में चेक करें /var/log/kern.log
(डेबियन / उबंटू पर, अन्य वितरण कर्नेल लॉग को एक अलग फ़ाइल में भेज सकते हैं, लेकिन आमतौर पर /var/log
लिनक्स के तहत)।
ध्यान दें कि अगर OOM- किलर (आउट-ऑफ-मेमोरी किलर) ट्रिगर हो गया, तो इसका मतलब है कि आपके पास पर्याप्त वर्चुअल मेमोरी नहीं है। अधिक स्वैप (या शायद अधिक रैम) जोड़ें।
कुछ प्रक्रिया दुर्घटनाओं को कर्नेल लॉग में भी दर्ज किया जाता है (जैसे विभाजन दोष)।
यदि प्रक्रिया क्रोन से शुरू की गई थी, तो आपके पास त्रुटि संदेशों के साथ एक मेल होना चाहिए। यदि किसी टर्मिनल में शेल से प्रक्रियाएं शुरू की गई थीं, तो उस टर्मिनल में त्रुटियों की जांच करें। screen
सुबह फिर से टर्मिनल देखने के लिए प्रक्रिया को चलाएं । अगर ओओएम-हत्यारा ट्रिगर हो गया तो यह मदद नहीं कर सकता है, क्योंकि इससे क्रोन या स्क्रीन प्रक्रिया भी हो सकती है; लेकिन अगर आप OOM- किलर में भाग गए, तो आपको समस्या को ठीक करना होगा।
प्रक्रिया लेखा यहाँ मदद कर सकता है।
संक्षेप में:
apt-get install acct
तो जैसे आदेश का प्रयास करें:
lastcomm
sa
या उबंटू पर:
lastcomm -f /var/log/account/pacct
sa /var/log/account/pacct
देख:
अद्यतन करें
अजीब, pacct
फ़ाइल बाहर निकलने के स्थिति के बारे में जानकारी नहीं है, लेकिन न तो lastcomm
है और न ही sa
इसे प्रिंट करने लगते हैं।
इसलिए जहां तक मैं देख सकता हूं, आपको जानकारी तक पहुंचने के लिए अपना सी प्रोग्राम लिखना होगा।
अद्यतन २
यहां एक संस्करण है जो निकास कोड को प्रिंट करता है।
अंतिम दो फ़ील्ड सिग्नल के लिए "S" और बाहर निकलने के लिए "E" हैं, इसके बाद सिग्नल नंबर या एक्जिट स्टेटस आता है।
तो आपके मामले में, आप शायद "S 15" की तलाश कर रहे हैं जिसका अर्थ है कि यह SIGTERM है।
sleep X mikel stdin 0.00 secs Fri Mar 25 20:15 S 15
"ई 0" की तुलना में जिसका अर्थ है त्रुटि के बिना बाहर निकलने की प्रक्रिया।
true mikel stdin 0.00 secs Fri Mar 25 20:16 E 0
केवल न्यूनतम परीक्षण किया गया।
सूद सेवा --status-all
यह कमांड आपको बताएगी कि वर्तमान में कौन-कौन सी सेवाएँ चल रही हैं और जिन्हें शुरू नहीं किया गया है या बंद कर दिया गया है।
/var/log/kern.log
?