期待スクリプトを使用して、トップ コマンドの最初の 5 行を取得しようとしています。この期待スクリプトをシェルスクリプトから他のものと一緒に呼び出しています。
top | head -5
以下の出力が得られます。つまり、CPU統計なしです-
トップ - 09:10:58 アップ 46 日、17:03、12 ユーザー、負荷平均: 0.01、0.02、0.00 タスク: 合計 138、1 実行中、137 スリープ、0 停止、0 ゾンビ
メモリ: 合計 16432400k、使用済み 8408096k、空き 8024304k、バッファ 609200k スワップ: 合計 6290736k、使用済み 0k、空き 6290736k、キャッシュ 6754356k
そのリモート サーバーでコマンドだけを実行するとtop
、CPU 状態の行が更新されるまでに 2 ~ 3 秒の遅延があることがわかります。CPU 状態が更新された 5 行すべてを取得するのを手伝ってもらえますか? 以下は私の期待スクリプトです -
#!/usr/bin/expect -f
set user1 abc
set pass1 pass
set timeout 8
match_max 1000
spawn ssh -C -o stricthostkeychecking=no $user1@<ip>
expect "*?assword:*"
send "$pass3\r"
expect "?xterm*"
send "\r"
send "top | head -5\r"
expect eof