क्या rsyslogकर्नेल रिंग बफर के शीर्ष पर सिर्फ एक अमूर्त परत है? या कर्नेल रिंग अपनी स्वयं की इकाई बफर है और rsyslogकिसी अन्य "अनुप्रयोग" की तरह बातचीत है?
क्या rsyslogकर्नेल रिंग बफर के शीर्ष पर सिर्फ एक अमूर्त परत है? या कर्नेल रिंग अपनी स्वयं की इकाई बफर है और rsyslogकिसी अन्य "अनुप्रयोग" की तरह बातचीत है?
जवाबों:
हालाँकि प्रलेखन के विभिन्न टुकड़े (सहित man dmesg) इसे "कर्नेल रिंग बफर" के रूप में संदर्भित करते हैं, इसे कर्नेल लॉग बफर के रूप में संदर्भित करना बेहतर हो सकता है, क्योंकि "रिंग बफर" एक सामान्य शब्द है और मेरा मानना है कि कर्नेल भी रिंग का उपयोग करता है विभिन्न पूरी तरह से असंबंधित चीजों के लिए बफ़र्स। "प्रिंटक बफर" भी उपयुक्त है, कर्नेल स्पेस फ़ंक्शन को लिखने के लिए उपयोग करने के बाद।
वैसे भी, यह कर्नेल स्पेस में रहता है और एक रीड इंटरफेस के माध्यम से /proc/kmsgऔर रीड-राइट इंटरफेस के माध्यम से प्रदान किया जाता है /dev/kmsg। तो अगर जड़ के रूप में तुम जाओ:
echo "Hello Kernel!" > /dev/ksmg
आप इसे देखेंगे अगर आप तब cat /dev/ksmg(आप शायद किसी भी लॉग में इस मोड़ को नहीं देखेंगे, हालांकि - मैथ्यू Phipps की टिप्पणी को एक संभावित संस्करण के लिए नीचे देखें)। यह कच्चा आउटपुट है और dmesgआपके द्वारा लॉग की गई फ़ाइलों में दिखाई देने वाले सामान की तरह बिल्कुल नहीं दिखता है । वहाँ एक छोटे से है प्रलेखन के बिट कर्नेल स्रोत के साथ प्रदान की इस बारे में। यदि (r) syslog चल रहा है, तो इसके विपरीत ( /proc/kmsgजैसा नहीं /dev/ksmg) पढ़ने की सलाह दी जाती है।
Rsyslog के एक नंबर से एक है syslog कार्यान्वयन आमतौर पर लिनक्स पर इस्तेमाल किया। ये उपयोगकर्ता के अनुप्रयोग हैं जो स्रोत से कर्नेल संदेश /proc/ksmgऔर अन्य उपयोगकर्ता प्रक्रिया से संदेश सॉकेट के माध्यम से भेजते हैं /dev/log।