六、预备知识
1 、ps 是最常用的监视进程的命令,通过 ps aux 命令我们可以看到当前系统上运行的所有 进程的信息,请详述 ps aux 命令得到的某条记录中各个字段的含义。


2、Linux 操作系统中常见的进程管理命令有哪些? 请查阅相关资料,完成表 1- 1 进程管理 命令一览表。
| 常见命令 | 作用 | 常见命令 | 作用 |
| w | 查看当前系统信息 | ps | 监视进程 |
| top | 即时跟踪进程信息 | lsof | 查看占用文件的进程 |
| 要求: 请查阅相关资料 ,完成表 1-1 的填写, 至少需要填写 4 条常见的命令 ,并将答案填写到实验 报告册中。 |
八、实验步骤
2 、进程管理
(1) 查看当前系统信息
| w |
(2) 查看指定用户的信息
| w root |
(3) 监视进程:ps 命令。ps 命令有很多参数, 并且这些参数可以进行组合
| ps l ps u ps j ps a ps x ps r ps aux ps lax | #长格式输出 #按用户名和启动时间的顺序来显示进程 #用任务格式来显示进程 #显示所有用户的所有进程 #显示无控制终端的进程 #显示运行中的进程 #显示系统上运行的所有进程的信息 #查看父进程 ID 和进程优先级 |
(4) 使用 ps aux 命令查看程序的进程
| ps aux ps aux | | more grepmysqld | #实现分页查看进程信息 #查看 mysql 进程的相关信息 |
(5) 即时跟踪进程信息:top 命令
| top p d | #即时跟踪进程信息 #直接显示指定进程pid号的信息 #改变两次刷新时间间隔,以秒为单位 D |
(6) 查看占用文件的进程:lsof 命令
| lsof lsof /proc/ lsof /sbin/init lsof -i:22 lsof -a -u root -c .txt lsof -i 4 lsof -i @[IP 地址] | #查看所有文件的进程信息 #查看占用指定文件目录的进程和用户 #查看占用指定文件的进程和用户 #查看占用指定端口的进程 #查看 root 用户打开的 txt 类型的文件 #查看使用IPv4 通信的进程 #查看和指定 IP 地址通信的进程 |
3、进程调度
(1) nice 命令
nice 命令可以在启动程序时设置其谦让度,高谦让度意味着低优先级,谦让度的值应该在 -20~+19 之间浮动。nice 命令修改的谦让度值是相对的, 通过 nice 命令设置的谦让度值的大小 为 nice 命令的参数的数值加上默认谦让度值。
| nice -n [谦让值]程序名 #在程序启动时设置谦让度 |
(2) renice 命令
renice 命令可以在进程运行时调整其谦让度值,renice 调整的谦让度值的大小为 renice 命 令中参数的数值。
| renice[谦让度绝对值] PID #对正在运行的程序进行谦让度值得变更 |
(3) 向进程发送信号: kill 命令、 killall 命令
| kill [-singal] -pid killall 程序名 | #通过 pid 号来向程序发送信号 #通过程序的名字,直接杀死所有的进程 |
4 、PROC 文件系统
PROC 是一个特殊的文件系统,/PROC 目录下存放着与内核有关的系统状态信息,在系统运行 的时候,内核会随时向这个目录写入数据。ps 和 top 命令就是从这个地方读取数据。通过 ls /PROC/ 可以查看这个目录下的进程信息。
|
(3)
| 要求: ( 1 )编写 Shell 脚本每隔 1 分钟对所有进程的 CPU 使用率进行采样 ,并将该信息记录到用 户文件“/home/student/CPUinfo.csv”中。 ( 2 )编写 Shell 脚本每隔 1 分钟对占用CPU 使用最大的进程名称进行采样 ,并将该信息记 录到用户文件“/home/student/CPUmax.csv”中。 ( 3 )使用 WinSCP 工具将上述( 1 )中的用户文件“/home/student/CPUinfo.csv”复制到 本地计算机中,并使用 Excel 工具对该文件中的数据进行分析,绘制出所有进程的 CPU 使用 率折线统计图。 请按照上述要求,进行具体实验,并将 Shell 脚本、csv 文件格式和所有进程的 CPU 使用率 折线统计图填写到实验报告册中。 |
答:(1)shell脚本如下:
(2)shell脚本如下:
运行结果如下:
(3)操作过程如下:
因为数据量非常大,图表不好处理,所以我只提取了一小部分数据来绘制折线图,如下:
九、课外自主实验
1 、查看进程的CPU 运行情况
CPU 是计算机的运算核心和控制核心,对 CPU 的运行情况进行监控可以让我们掌握系统健康 的情况。
①查看所有进程的 CPU 使用率
| top -n 1 | grep id | awk -F “,” „{print $4}‟ |
②查看占用CPU 使用率最高的进程
| ps aux | sort -k3nr | head -n 1 |
结果如下: