周期输出 CPU 占用率排名前 10 的进程信息到文件中 请提交 shell 代码和执行结果
时间: 2024-12-21 22:30:53 浏览: 0
linux 系统cpu占用率,进程线程状态监控,shell脚本
5星 · 资源好评率100%
为了周期性地获取并输出CPU占用率排名前10的进程信息到文件中,你可以使用`top`命令结合`awk`处理结果,并设置定时任务如`cron`来定期执行。这里是一个简单的shell脚本示例:
```bash
#!/bin/bash
# 定义日志文件路径
LOG_FILE="/path/to/cpu_usage.log"
# 使用top命令获取进程信息,并通过awk提取需要的部分
top -b -n 1 | awk 'BEGIN {print "Rank\tProcess\t%CPU"} NR>1 {print $2 "\t" $8 "\t" $4}' | sort -rn | head -n 10 > $LOG_FILE
# 每5分钟运行一次(可以根据需求调整时间)
*/5 * * * * /usr/bin/crontab -l # 确认crontab内容
echo "0 */5 * * * $(basename $0) >> $LOG_FILE" | crontab - <<EOF
EOF
# 显示当前已添加的crontab任务
crontab -l
```
保存这个脚本(例如叫`cpu_top.sh`),然后将`LOG_FILE`变量里的路径替换为你实际想要存储日志的路径。接着赋予脚本执行权限,比如`chmod +x cpu_top.sh`。
执行这个脚本后,它会每5分钟更新一次日志文件,记录CPU占用率最高的10个进程。
注意:这个例子假设你的系统已经安装了`cron`服务并且有权限编辑crontab。如果你不确定,可以查阅相应的文档或教程。
阅读全文