面试题答案
一键面试total_mem=$(ps -ef | grep 'user1' | grep -v grep | awk '{print $6}' | awk '{sum+=$1} END {print sum/1024}')
echo "Total Memory Used by user1's processes: $total_mem MB"
解释:
ps -ef
获取所有进程信息。grep 'user1'
筛选出user1
用户的进程信息。grep -v grep
排除grep
本身的进程信息。awk '{print $6}'
提取进程占用内存大小字段(第6列)。- 第二个
awk '{sum+=$1} END {print sum/1024}'
累加内存大小并转换为MB。 - 最后使用
echo
输出结果。