पर मौजूद है या नहीं, मैं एक सी डिमन लिख रहा हूं, जो कि नौकरी करने के लिए दो कर्नेल मॉड्यूल के अस्तित्व पर निर्भर करता है। कार्यक्रम सीधे इन (या किसी अन्य) मॉड्यूल का उपयोग नहीं करता है। यह केवल उन्हें अस्तित्व में रहने की जरूरत है। इसलिए, मैं रनटाइम पर उपयोगकर्ता को चेतावनी देने के लिए प्रोग्रामेटिक रूप से जांचना चाहता हूं कि ये मॉड्यूल पहले ही लोड हो चुके हैं या नहीं।प्रोग्रामेटिक रूप से जांचें कि क्या लिनक्स कर्नेल मॉड्यूल रनटाइम
इससे पहले कि मैं /proc/modules
या lsmod
आउटपुट पार्सिंग जैसी चीजें करना शुरू कर दूं, क्या कोई उपयोगिता फ़ंक्शन पहले से मौजूद है? कुछ is_module_loaded(const char* name)
की तरह;
मुझे पूरा यकीन है कि इससे पहले पूछा गया है। हालांकि, मुझे लगता है कि मुझे इसकी खोज करने के लिए सही शब्द याद आ रही हैं।
बहुत गंदा लग रहा है लेकिन यह काम करता है और मैंने कभी इस तरह के सरल समाधान के बारे में सोचा नहीं है। चीयर्स – dgraziotin
यह देखते हुए कि lsmod "/ proc/modules" खुलता है, और उस grep में एक और प्रक्रिया शामिल है और पाइप के लिए अतिरिक्त फ़ाइल खुलती है, क्या यह "grep module_name/proc/मॉड्यूल" का उपयोग करने के लिए अधिक कुशल होगा और जांच करें कि कोई आउटपुट है या नहीं इसके बजाए? यह भी काम करेगा भले ही lsmod उपलब्ध नहीं था। – Jeremy