TOPASでスナップショットを撮るスクリプトは次のとおりです。
#!/usr/bin/bash
whoami
export TERM="xterm"
(sleep 3; echo q)| topas -Emi 2 | \
tr -d '\r' | \
sed 's/\'$'\033''\[[0-9][0-9]G/ /g' | \
sed 's/'$'\033''/\'$'\n''/g' | \
grep -e '^en' -e '^lo' -e '^Network' | \
awk '{ printf("%-8s%10s%10s%10s\n", $1,$2,$5,$6); }' | \
cat
...特殊文字を削除して、bash端末内で非常に良い結果を得ました。
root
Network KBPS KB-In KB-Out
lo0 3652.9 1826.0 1826.9
en1 2133.4 2109.0 24.4
en2 0.1 0.1 0.0
en0 0.0 0.0 0.0
しかし、私はそれを私の管理サイトに単に表示したいと思います:
<?php header('Content-type: text/plain'); echo `myscript.sh`; ?>
ただし、ネットワークの結果はひどいです(ネットワークインターフェイスは表示されません)。
apache
Network KBPS KB-In KB-Out
SUIDビットをラップして「root」として実行しようとしても役に立ちませんでした。同じ問題がまだ存在します。だから私はそれが特権の問題だとは思わない。おそらく、これはTERMINALのTOPAS動作に関連している可能性があります(これを実装するには$ TERMがどの端末であるべきかわかりません)。
誰に手がかりがありますか?