Совокупное использование ресурсов

Мне это подходит:

while read line   
do   
i=$(echo $line | cut -d\| -f1 )  
f=$(echo $line | cut -d\| -f2 )  
case $f in  
    D) sed -i /^$i/d File1.txt ;;  
    C) sed -i s/^$i.*/$line/ File1.txt ;;  
    A) echo $line >> File1.txt;;  
esac  
done < File2.txt  
1
04.08.2020, 04:02
2 ответа

Наверное, ты хочешь:htop -u someusername

0
18.03.2021, 23:15

Вы можете использовать top -bn1 -U {user}для создания файла, который затем можно будет дополнительно обработать, чтобы получить кумулятивное использование.

Аргумент -bn1заставляет topработать в не -интерактивном режиме, просто выводя один раз по завершении. Затем вы можете передать этот вывод куда угодно для дополнительной обработки.

например,

top -bn1 -U {user} > user_log.txtдля дополнительной обработки в другом скрипте,

или вы можете сделать что-то вроде

top -bn1 -U {user} | awk {file_processing_script} >> user_log.txt

file_processing_scriptв этом случае — это скрипт awk, который обрабатывает данные любым способом. одной из идей может быть awk 'NR>7{cpu += $9; mem += $10} END {printf "%.2f\t%.2f\n", cpu, mem}', который просто выводит общее использование процессора и памяти для конкретного пользователя в момент его запуска. Добавьте несколько из них вместе, и вы получите красивую таблицу, показывающую использование процессора и памяти пользователем.

0
18.03.2021, 23:15

Теги

Похожие вопросы