编写shell脚本,周期输出CPU占用率排名前10的进程信息到文件中
时间: 2023-06-26 12:04:06 浏览: 78
以下是一个实现周期输出CPU占用率排名前10的进程信息到文件的shell脚本:
```shell
#!/bin/bash
# 输出文件路径
output_file="/path/to/output/file.txt"
# 循环输出进程信息
while true
do
# 获取所有进程的CPU占用率并按照占用率排序
processes=$(ps -eo pid,comm,%cpu --sort=-%cpu | head -n 11)
# 输出到文件
echo "$processes" > $output_file
# 等待5秒
sleep 5
done
```
该脚本会不断循环输出当前CPU占用率排名前10的进程信息到指定的输出文件中。其中,`ps -eo pid,comm,%cpu --sort=-%cpu | head -n 11`命令会获取所有进程的PID、进程名和CPU占用率,并按照占用率从高到低排序,然后取前11行(其中第一行为列名)。脚本会每隔5秒输出一次进程信息。可以根据需要修改输出文件路径和输出间隔时间。
相关问题
编写shell脚本,周期输出CPU占用率排名前10的进程信息到文件中请提交shell代码和执行结果。
以下是一个周期输出CPU占用率排名前10的进程信息到文件的shell脚本:
```bash
#!/bin/bash
while true; do
ps -eo pid,pcpu,comm --sort=-pcpu | head -n 11 > top10_cpu_processes.txt
sleep 10
done
```
该脚本会循环执行以下操作:
1. 使用`ps`命令获取当前正在运行的所有进程的PID、CPU占用率和进程名,并按照CPU占用率进行降序排序。
2. 取前11行(其中第一行为表头),也就是CPU占用率排名前10的进程信息。
3. 将这些信息输出到`top10_cpu_processes.txt`文件中。
4. 等待10秒钟后再次执行以上操作。
因此,该脚本会周期性地记录CPU占用率排名前10的进程信息,以便我们能够及时发现CPU占用率较高的进程并进行优化或调整。
编写shell脚本,周期输出CPU占用率排名前10的进程信息到文件中 请提交shell 代码和执行结果。
以下是一个实现周期输出CPU占用率排名前10的进程信息到文件的shell脚本:
```shell
#!/bin/bash
# 定义输出文件路径和时间间隔
OUTPUT_FILE="/path/to/output/file"
SLEEP_TIME=5
while true
do
# 获取当前 CPU 占用率排名前10的进程信息,并写入输出文件
ps aux --sort=-%cpu | head -n 11 > $OUTPUT_FILE
# 等待指定时间间隔
sleep $SLEEP_TIME
done
```
脚本的逻辑很简单,就是一个死循环,每次循环中获取当前 CPU 占用率排名前10的进程信息,并写入输出文件中,然后等待指定的时间间隔,以便下一次循环执行。
执行结果可能类似如下:
```
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 4571 17.8 2.8 1465680 449580 ? Sl 2021 285:13 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root 8808 3.5 0.0 12580 1912 pts/0 R+ 10:35 0:00 ps aux --sort=-%cpu
root 1945 2.7 0.8 1012504 142660 ? Ssl 2021 80:11 /usr/bin/containerd
...
```
每5秒钟输出一次,输出到指定文件路径中。