में नई प्रक्रियाओं के लिए सुनना, जब कोई नई प्रक्रिया निष्पादित की जाती है, जब कोई बंद हो जाता है, और जब राज्य में परिवर्तन होता है (यानी बंद हो जाता है, पेजेड, आदि) अधिसूचित होना (कॉलबैक या इसी तरह के माध्यम से) प्राप्त करना संभव है? उपयोगकर्ता-भूमि में,/proc पर एक निर्देशिका श्रोता स्थापित करना आसान होगा।लिनक्स कर्नेल मॉड्यूल
उत्तर
क्या आपने kprobes को माना है? कुछ कर्नेल कोड निष्पादित होने पर आप कॉलबैक फ़ंक्शन निष्पादित करने के लिए kprobes का उपयोग कर सकते हैं। उदा।, this example में नई प्रक्रियाएं बनाई जाने पर आप चेतावनी के लिए do_fork
kprobe जोड़ सकते हैं।
इसी प्रकार, प्रक्रियाओं से बाहर निकलने पर पकड़ने के लिए आप do_exit()
के लिए एक जांच जोड़ सकते हैं।
राज्य बदलने के लिए, आपके पास sched_switch()
पर वापसी की जांच हो सकती है और जब राज्य बदलता है तो उसे पकड़ लें। आपके आवेदन के आधार पर, यह बहुत अधिक ओवरहेड जोड़ सकता है। https://sourceware.org/systemtap/documentation.html
अधिक विवरण:
आप केवल, डेटा एकत्र कुछ प्रकाश प्रसंस्करण प्रदर्शन करना चाहते और कर्नेल मॉड्यूल के साथ भी बहुत कुछ करने के लिए नहीं देख रहे हैं, तो systemtap एक कर्नेल मॉड्यूल लिखने के लिए एक अच्छा विकल्प हो सकता है kprobes पर: https://www.kernel.org/doc/Documentation/kprobes.txt
sched_switch()
systemtap उदाहरण: https://sourceware.org/systemtap/examples/profiling/sched_switch.stp
- 1. लिनक्स कर्नेल मॉड्यूल
- 2. लिनक्स कर्नेल मॉड्यूल
- 3. लिनक्स कर्नेल - मॉड्यूल
- 4. लिनक्स कर्नेल मॉड्यूल/आईओसीटीएल: डिवाइस
- 5. लिनक्स कर्नेल मॉड्यूल: try_module_get/module_put
- 6. लिनक्स कर्नेल मॉड्यूल का स्थान
- 7. लिनक्स कर्नेल मॉड्यूल - सुरक्षा जोखिम?
- 8. लिनक्स कर्नेल
- 9. लिनक्स कर्नेल
- 10. लिनक्स कर्नेल
- 11. लिनक्स कर्नेल
- 12. मुझे लिनक्स कर्नेल मॉड्यूल कब लिखना चाहिए?
- 13. उपयोगकर्तास्पेस प्रक्रिया पर लिनक्स कर्नेल मॉड्यूल सिग्नल
- 14. लिनक्स कर्नेल मॉड्यूल में फ़ाइल I/O
- 15. लिनक्स कर्नेल मॉड्यूल में थ्रेड स्थानीय डेटा
- 16. लिनक्स कर्नेल मॉड्यूल: आभासी फाइल सिस्टम
- 17. लिनक्स कर्नेल मॉड्यूल में आवधिक कार्य
- 18. लिनक्स कर्नेल मॉड्यूल को कैसे कोड करें?
- 19. लिनक्स कर्नेल
- 20. गैर कर्नेल हेडर समेत लिनक्स कर्नेल (2.6) मॉड्यूल संकलित करें
- 21. सिस्टम कॉल लिनक्स कर्नेल मॉड्यूल में अवरोधन (कर्नेल 3.5)
- 22. कर्नेल मॉड्यूल
- 23. mprotect() लिनक्स कर्नेल
- 24. लिनक्स कर्नेल
- 25. लिनक्स कर्नेल
- 26. लिनक्स कर्नेल
- 27. लिनक्स कर्नेल
- 28. लिनक्स कर्नेल
- 29. लिनक्स कर्नेल
- 30. लिनक्स कर्नेल
"। उपयोगकर्ता के देश में, यह/proc पर एक निर्देशिका श्रोता स्थापित करने के लिए आसान होगा" असल में, नहीं, यह काम नहीं करता है। लेकिन [/ proc कनेक्टर करता है] (http://stackoverflow.com/questions/6075013/linux-detect-launching-of-programs)। – duskwuff