- 締切済み
プロセスのCPU使用率のみを切り出したい
httpdプロセスのCPU使用率のみを切り出してshに渡して使用したいのですが、 cut や sed 、その他を使って、どうすれば、うまく切り出せるでしょうか。 #top -b -n 1 |grep httpd の結果は以下の通り(例として3行のみ)ですが、 CPU使用率は、右から4つ目のフィールドです。 (それぞれ 12.0 3.0 5.1 といった数値の箇所です) cut -d' ' -f 10 などだと、スペースの数が変わるためうまくいきません・・ 32554 apache 15 0 29352 9160 1932 S 12.0 0.9 0:00.00 httpd 325 apache 15 0 2932 9160 1932 S 3.0 0.9 12:00.00 httpd 3255 apache 15 0 29352 9160 1932 S 5.1 0.9 0:00.00 httpd どうぞ宜しく御願いいたします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- k_izumo
- ベストアンサー率50% (68/134)
Linuxインストール時にどこまでアプリケーションを追加してるか解らないのですが NET-SNMP(UCD-SNMP)のインストールが必要ですね。
- k_izumo
- ベストアンサー率50% (68/134)
違った方法ですが snmpwalkで取り出してみてはいかがでしょうか。 TOPで表示できる値は標準MIBに定義されています。 プロセスOID毎にCPU使用率を取り出せると思います。
お礼
-bash: snmpwalk: command not found となりました。 snmpwalkは別途インストールしないといけないのですかね。
- Tacosan
- ベストアンサー率23% (3656/15482)
bash だったら, 例えば top -b -n 1 | grep httpd | while read -a field; do echo ${field[9]}; done なんかでうまくいかないかなぁ? 添え字は 9 か 10 か, どちらかだと思う.
お礼
添え字は 8 でうまく切り出せました! top -b -n 1 | grep httpd | while read -a field; do echo ${field[8]}; done ありがとうございました。
- mochablend
- ベストアンサー率68% (32/47)
こんにちは。 awkコマンドで取り出してはどうでしょうか。 #top -b -n 1 |grep httpd |awk '{print $10}'
お礼
print $9 で出来ました! top -b -n 1 |grep httpd |awk '{print $9}' で切り出せました!ありがとうございました。
お礼
ありがとうございます。改めてトライしてみます。