मैंने एक सी प्रोग्राम लिखा है जिसे अपना स्वयं का सीपीयू और मेमोरी उपयोग प्राप्त करने की आवश्यकता है। इसलिए मैं कुछ इस तरह लिखा है:शीर्ष कमांड 0% CPU उपयोग देता है जब मैं प्रक्रिया के भीतर से अपनी प्रक्रिया के CPU उपयोग की जांच करता हूं
system("prs_pid=`ps | grep prs-m1 | awk '{print $1}'` \n top -n1 | grep -m1 $prs_pid | \
awk '{print \"prs_cpu:\" $7 \"\\nprs_mem:\" $6}' >> /stats");
मेरा आवेदन नाम पीआरएस है और मैं एक पी एस करते हैं और मेरी प्रक्रिया के पीआईडी और फिर टॉप चलने से CPU उपयोग करना चाहते हैं। कार्यक्रम रिपोर्ट करता है कि यह 2% मेमोरी और 0% सीपीयू का उपयोग कर रहा है। लेकिन, cmd पर मैन्युअल रूप से एक ही कमांड चलाने से एक ही यादगार उपयोग होता है लेकिन एक मान्य गैर-शून्य CPU जो मैं शीर्ष पर चलकर सत्यापित कर सकता हूं। जो मुझे समझ में नहीं आता है, सिस्टम के अंदर से प्रयास किए जाने पर सीपीयू उपयोग हमेशा 0% क्यों होता है?
यदि आप लिनक्स पर हैं, तो बस '/ proc' से पढ़ें: http://stackoverflow.com/q/16726779/8446 –