独自のCPUおよびメモリ使用率を必要とするCプログラムを作成しました。トップコマンドは、プロセス内からプロセスのCPU使用率をチェックすると0%の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");
私のアプリケーション名がPRSであり、私はPSを行うと、私のプロセスのpidを取得して、TOPを実行しているから、CPU使用率を取得したい:だから私はこのような何かを書かれています。プログラムは、2%のメモリと0%のCPUを使用していることを報告します。しかし、同じコマンドをcmdで手動で実行すると、同じmemryの使用法が返されますが、topを実行して検証できる有効な非ゼロのCPUが返されます。私が理解していないのは、システム内部から試してみると、なぜCPU使用率が常に0%ですか?
Linuxの場合は、 '/ proc'から読んでください:http://stackoverflow.com/q/16726779/8446 –