0
這是我想要做的。我想趕上消費PID最多的10個CPU,並找到程序名稱。然後在文件中顯示程序名稱和%CPU。BASH,在循環中讀取文件中的第一列
CPU_per=$(sar 1 1 | tail -1 | awk '{print 100 - $5}')
echo $CPU_per
if [ $CPU_per -gt 80 ]
(prstat -u user -n 900 0 1 | grep Type | head -n 10 | awk '{print $1 " " $9}') >> /tmp/PID
for i in $(cat /tmp/PID)
do
(awk '{print $1 } | ps -p $PID -o args | tail -1 | cut -d \ -f 2)
我想輸出看起來像
Process %CPU
Program1 5%
Program2 9%
Program3 12%
歡迎來到Stack Overflow。請儘快閱讀[關於]頁面。你似乎發佈了一個奇怪的僞代碼,這是不推薦的。至少,它不是語法上正確的shell腳本。您在循環體中也缺少一個引號,並且您不清楚是否在子shell中運行該命令。您可以在'-p'選項中請求以逗號分隔的PID列表到'ps' –
我正在使用Linux,並且我認爲Linux上沒有'prstat'命令。因此,如果您可以發佈'prstat -u user -n 900 0 1'的輸出 –