shell根据进程名的监控进程名的cpu、内存并以文档的形式输出结果
时间: 2023-12-06 11:44:52 浏览: 75
可以使用shell脚本结合Linux系统自带的工具来实现进程名的监控和输出结果。
以下是一个简单的示例脚本,可以监控指定进程名的CPU使用率和内存占用情况,并将结果输出到指定文件:
```
#!/bin/bash
# 进程名
process_name="example_process"
# 输出文件名
output_file="process_stats.txt"
# 监控时间间隔
interval=5
while true; do
# 获取进程ID
pid=$(pgrep $process_name)
if [ -z "$pid" ]; then
# 进程不存在,等待一段时间后重新获取
sleep $interval
continue
fi
# 获取CPU使用率
cpu_usage=$(ps -p $pid -o %cpu | awk 'NR==2')
# 获取内存占用
mem_usage=$(ps -p $pid -o %mem | awk 'NR==2')
# 输出结果到文件
echo "$(date) - CPU: $cpu_usage%, MEM: $mem_usage%" >> $output_file
# 等待一段时间后继续监控
sleep $interval
done
```
在脚本中,首先定义了需要监控的进程名和输出文件名,以及监控时间间隔。然后在一个无限循环中,通过`pgrep`命令获取进程ID,如果进程不存在则等待一段时间后重新获取。接着使用`ps`命令获取CPU使用率和内存占用,然后将结果输出到指定文件中。最后等待一段时间后继续监控。
可以通过修改变量的值来适应不同的需求,例如监控多个进程、输出更详细的信息等。
阅读全文