मैं लिनक्स के साथ काम कर रहा हूं और मेरे पास एक निर्देशिका है जिसमें उप-निर्देशिकाएं हैं और उप-निर्देशिकाओं के अंदर फ़ाइलें हैं। मुझे फ़ाइल में बदलावों की निगरानी करनी है। सी ++ में मैं बूस्ट का उपयोग कर रहा हूं। मैं हर 30 सेकेंड में सभी निर्देशिकाओं के माध्यम से जाता हूं और last_write_time की जांच करता हूं। मुख्य रूप से, यह काम करता है। लेकिन हर बार जब यह क्रिया निष्पादित की जाती है, तो मेरा सीपीयू पागल हो जाता है और मुझे इस कार्यक्रम के लिए शीर्ष पर 15% -25% CPU उपयोग दिखाई देता है। मैंने inotify के बारे में पढ़ा है। यदि मैं इनोटिफ़ाई का उपयोग करता हूं तो मेरे पास कम या ज्यादा CPU उपयोग होगा या यह बेहतर होगा? क्या मैं क्या कर रहा हूं इसके लिए कोई अच्छा विकल्प है?निगरानी फ़ाइल में परिवर्तन C++ linux
उत्तर
जब आप इनोटिफ़ाई का उपयोग करते हैं, तो आपको सभी फ़ाइलों के लिए मतदान करने की आवश्यकता नहीं है ताकि यह जांच सके कि क्या परिवर्तन हैं या नहीं। आपको एक कॉलबैक सिस्टम मिलता है जो आपको सूचित करता है जब एक देखी गई फ़ाइल या निर्देशिका बदल जाती है।
कर्नेल/फाइल सिस्टम में पहले से ही यह जानकारी है, इसलिए संसाधन/सीपीयू उपयोग सिर्फ दूसरे एप्लिकेशन में नहीं ले जाया गया है, यह वास्तव में कम हो गया है।
Monitor file system activity with inotify इनोटिफ़ाई का उपयोग करने के लिए अधिक जानकारी प्रदान करता है, इसका मूल उपयोग दिखाता है और इसे सेट करने में आपकी सहायता करता है।
आपके उत्तर के लिए बहुत धन्यवाद। मैं इसे आज़मा दूंगा। – user1566277
http://linux.die.net/man/7/inotify इससे आपको सामना करने वाली समस्या से छुटकारा पाने में मदद मिलनी चाहिए!
- 1. C++ linux प्रणाली आदेश
- 2. एप्पलस्क्रिप्ट में निगरानी स्पॉटिफा ट्रैक परिवर्तन की निगरानी?
- 3. परिवर्तन के लिए निर्देशिका निर्देशिका की निगरानी?
- 4. फ़ाइल/फ़ोल्डर निगरानी
- 5. linux कैसे एक ज़िप फ़ाइल
- 6. परिवर्तन परिचालनों की गणना C#
- 7. LINUX
- 8. LINUX
- 9. पार्स कॉन्फ़िग फ़ाइल C/C++
- 10. फ़ाइल (C++)
- 11. linux
- 12. linux
- 13. linux
- 14. linux
- 15. linux
- 16. कैसे linux
- 17. ubuntu linux
- 18. वास्तविक समय में फ़ाइल (ओं) में परिवर्तनों की निगरानी
- 19. pgmagick linux
- 20. C#include फ़ाइल नाम
- 21. निगरानी LiveBindings
- 22. निर्देशिका संशोधन निगरानी
- 23. बैच फ़ाइल में ~ dp0 परिवर्तन निर्देशिका
- 24. मैं किस तरह Linux
- 25. Howto linux
- 26. Redhat Linux
- 27. (ubuntu) linux
- 28. TERM = linux
- 29. rtnetlink (Linux)
- 30. x86 linux
प्रदर्शन में काफी सुधार होगा, क्योंकि आपको सभी फ़ाइलों और उप-निर्देशिकाओं से गुजरना पड़ेगा। इसके बजाय आपको एक फ़ाइल या निर्देशिका बदलने पर एक अधिसूचना मिलेगी। लिनक्स पर जाने का शायद सबसे अच्छा तरीका है। –
इनपुट Joachim के लिए धन्यवाद। मैं कोशिश कर रहा हूँ। – user1566277