shell 根据进程名监控文件的cpu、内存
时间: 2023-08-06 21:02:50 浏览: 100
可以使用 `ps` 命令配合 `awk` 命令来实现。
以监控进程名为 `example` 的进程为例:
```shell
#!/bin/bash
# 进程名
process_name="example"
# 监控间隔
interval=5
while true
do
# 获取进程 ID
pid=$(ps -ef | awk "/$process_name/{print \$2}")
if [ -n "$pid" ]
then
# 获取进程的 CPU 和内存占用情况
cpu=$(ps -p $pid -o %cpu | awk 'NR==2')
mem=$(ps -p $pid -o %mem | awk 'NR==2')
# 输出结果
echo "进程 $process_name 的 CPU 占用率为:$cpu"
echo "进程 $process_name 的内存占用率为:$mem"
else
# 进程不存在
echo "进程 $process_name 不存在"
fi
# 等待一段时间再进行下一次监控
sleep $interval
done
```
上述脚本中,通过 `ps` 命令查找到进程名为 `$process_name` 的进程,并使用 `awk` 命令提取出进程的 ID。然后,使用 `ps` 命令查找进程的 CPU 和内存占用情况,并使用 `awk` 命令提取出数据。最后,输出结果并等待一段时间后再进行下一次监控。
阅读全文