私の質問は、ユーザーがCPU%の読み取り値が書き込まれる期間を決定することです。私のコードは次のとおりです。
#!/bin/bash
watch -n $1 ps -eo pcpu
そうですか? $ 1はパラメータです。
答え1
$ 1はスクリプトの最初のパラメータを表します。
したがって、スクリプトはN秒ごとに定期的に「ps -eo pcpu」を呼び出します。ここで、Nは最初の引数としてスクリプトに渡された値です。
CPU読み取り値のロギングに関しては、「ウォッチ」が表示項目に適しているため、選択しません。以下の例をご覧ください。 N秒ごとにユーザーのCPU使用率を確認します(Nが最初のパラメータとして渡されます)。
#!/usr/bin/bash
while true
do
top -b -n 1 -u "$user" | awk -v user="$user" 'NR>7 { sum += $9; } END { print user, sum; }'
sleep $1
done
これにより、ユーザーは上記のスクリプトの出力を次のようにファイルにパイプできます。
./cpu_utilization.sh 1 > my_cpu_stats.log