编写一个Shell脚本,显示CPU使用情况,硬盘和内存的利用率,显示终端下的所有进程,查看每个进程打开的具体scoket。
时间: 2024-02-09 16:13:10 浏览: 74
好的,以下是一个简单的Shell脚本,可以实现你的要求:
```
#!/bin/bash
# 显示CPU使用情况
echo "CPU使用情况:"
top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1"%"}'
# 显示硬盘和内存的利用率
echo "硬盘和内存利用率:"
df -h
free -m
# 显示终端下的所有进程
echo "终端下的所有进程:"
ps -aux
# 查看每个进程打开的具体socket
echo "每个进程打开的具体socket:"
sudo lsof -i
```
脚本中使用了一些Linux命令来获取CPU、硬盘和内存的利用率,以及显示进程和socket信息。请注意,为了查看每个进程打开的具体socket,需要使用sudo权限运行脚本。
相关问题
编写一个Shell脚本,显示CPU使用情况,硬盘和内存的利用率,显示终端下的所有进程,查看每个进程打开的具体scoket
以下是一个简单的Shell脚本,可以实现您所要求的功能:
```shell
#!/bin/bash
# 显示CPU使用情况
echo "CPU usage:"
top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1"%"}'
# 显示硬盘利用率
echo "Disk usage:"
df -h
# 显示内存利用率
echo "Memory usage:"
free -m
# 显示所有进程
echo "All processes:"
ps -ef
# 查看每个进程打开的具体socket
echo "Socket for each process:"
lsof -i
```
您可以将这段代码保存为一个shell脚本文件(例如`sys_info.sh`),并在终端中运行它:
```
chmod +x sys_info.sh
./sys_info.sh
```
这样您就可以得到CPU使用情况、硬盘和内存的利用率、终端下的所有进程和每个进程打开的具体socket。
用Shell语言编写一个脚本,用来查看所有进程占用CPU和磁盘空间的情况
以下是一个简单的Shell脚本,可以查看所有进程占用CPU和磁盘空间的情况:
```shell
#!/bin/bash
# 获取所有进程ID
pids=$(ps axo pid | sed '1d')
# 遍历所有进程
for pid in $pids
do
# 获取进程的CPU占用情况
cpu=$(ps -p $pid -o %cpu | sed '1d')
# 获取进程的磁盘空间占用情况
disk=$(du -sh /proc/$pid | awk '{print $1}')
# 输出进程ID、CPU占用、磁盘空间占用情况
echo "PID: $pid, CPU: $cpu%, Disk: $disk"
done
```
该脚本首先获取所有进程的ID,然后遍历所有进程,针对每个进程获取其CPU占用和磁盘空间占用情况,并将结果输出到终端。请注意,该脚本需要以root权限运行才能查看所有进程的磁盘空间占用情况。
阅读全文