Kendi CPU'larını ve bellek kullanımını alması gereken bir C programı yazdım.top komutu, işlemimin CPU kullanımını işlemden geçirdiğimde% 0 CPU kullanımını döndürür
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");
Benim uygulama adı prs ve ben bir PS yapmak ve benim sürecin pid almak ve TOP çalışmasını CPU kullanımını almak istiyorum: Ben böyle bir şey yazdım. Program,% 2 bellek ve% 0 CPU kullandığını bildiriyor. Ancak, aynı komutu cmd'de elle çalıştırmak aynı hatıra kullanımını döndürür, ancak üstte çalışarak doğrulayabildiğim sıfır olmayan bir CPU'yu döndürür. Anlamadığım şey, cpu kullanımının sistem içinden denendiğinde neden her zaman% 0 olmasıdır?
Eğer Linux'unuz varsa, sadece/proc'den okuyabilirsiniz: http://stackoverflow.com/q/16726779/8446 –