### Linux实验五:进程管理命令 #### 一、实验目的 本实验旨在通过一系列实践操作,帮助学习者深入了解Linux系统中的进程管理。具体目标包括: 1. **了解如何监视系统运行状态**:通过使用`top`等命令,观察系统资源(如CPU、内存)的使用情况,以及正在运行的进程信息。 2. **掌握查看、删除进程的正确方法**:学会使用`ps`命令查看系统中当前存在的进程,并掌握如何使用`kill`命令来终止特定进程。 3. **掌握命令在后台运行的用法**:学习如何使用`&`符号使命令在后台运行,以及如何使用`bg`和`fg`命令来管理这些后台进程。 4. **掌握进程手工、调度启动的方法**:了解如何手动启动进程,以及如何使用`at`和`batch`命令来安排任务在特定时间或条件满足时执行。 #### 二、常用命令详解 1. **`who`**:用于查看当前在线的所有用户及其登录时间、终端类型等信息。 2. **`top`**:实时监控系统状态,包括CPU使用率、内存使用情况、运行的进程列表等。通过此命令,可以动态地查看系统状态的变化。 3. **`ps`**:列出当前系统中正在运行的进程。配合不同的选项可以获取更详细的信息,如`ps aux`会显示所有用户的进程信息。 4. **`kill`**:向进程发送信号,通常用于终止进程。例如,`kill -9 PID`可以强制结束指定进程ID(PID)的进程。 5. **`bg`和`fg`**:`bg`命令可以让一个进程在后台继续运行;`fg`则可以把一个在后台运行的进程切换到前台继续执行。 6. **`jobs`**:显示当前Shell中所有的后台作业。这些作业可能是通过在命令末尾添加`&`而变为后台运行的。 7. **`at`**:用于在指定的时间点执行一个命令或者命令序列。例如,可以通过`at 10:20 tomorrow`来指定明天10:20执行某个任务。 8. **`batch`**:当系统负载较低时执行命令或命令序列,常用于处理非紧急的任务,确保不会占用过多系统资源。 #### 三、实验内容详解 1. **使用`top`命令查看当前系统的状态**:通过`top`命令可以实时监控系统的各项指标,包括CPU、内存使用情况等。此外,还能查看到每个进程的详细信息,如PID、用户名、CPU和内存使用率等。 - **PID**:进程ID。 - **USER**:运行该进程的用户。 - **PR**:进程优先级。 - **NI**:nice值,表示进程的优先级调整。 - **VIRT**:虚拟内存大小。 - **RES**:实际使用的物理内存大小。 - **SHR**:共享内存大小。 - **%CPU**:进程占用的CPU百分比。 - **%MEM**:进程占用的物理内存百分比。 - **TIME+**:进程运行所消耗的总CPU时间。 - **COMMAND**:进程所执行的命令。 2. **使用`ps`命令保存当前进程信息到文件**:可以通过`ps aux > process`命令将当前系统中的所有进程信息保存到名为`process`的文件中。这里`aux`参数表示显示所有用户的进程信息。 3. **检查是否有`init`进程**:使用`ps –aux | grep init`命令可以查找系统中是否存在名为`init`的进程。`init`通常是Linux系统中的第一个进程,PID为1。 4. **使用`Ctrl`+`Z`和`fg`命令控制进程**: - 按`Ctrl`+`Z`键可以将正在运行的命令挂起并转移到后台。 - 使用`fg`命令可以将后台进程切换到前台继续执行。 - `Ctrl`+`C`可以用来终止当前正在运行的命令。 5. **使用`find`命令查找文件并后台运行**: - `find / -name 'ls*' > temp &`命令会在后台查找所有硬盘中以`ls`开头的文件,并将结果重定向到`temp`文件中。 6. **使用`jobs`命令查看后台任务**:通过`jobs`命令可以查看当前Shell中所有的后台任务。 7. **使用`at`命令在特定时间执行命令**:例如,`at 10:20`可以设置在10:20执行`mkdir`命令。 8. **比较`batch`和`at`命令**:`batch`命令会在系统负载较低时执行任务,适合处理非紧急的后台任务。而`at`命令则是在指定时间执行任务,无论系统负载情况如何。 9. **使用`cron`定时任务归档文件**:可以通过编写定时任务脚本来实现每周一17:50将`/data`目录下的所有文件和目录归档并压缩为`backup.tar.gz`,并将结果存放在`/home/backup`目录下。首先需要创建`/data`目录,并在其中创建一些文件作为测试数据。然后编辑`crontab`文件,添加相应的定时任务。 #### 四、思考题解析 1. **挂起的`cat`命令**:如果使用`cat`命令后按`Ctrl`+`Z`键将其挂起,即使使用`kill`命令也无法立即终止它。这是因为挂起的进程可能会成为僵尸进程,或者即使已经被杀死但由于挂起状态导致没有及时更新其状态信息。 - 可以使用`kill -9 [cat进程号]`来强行终止进程。 - 也可以使用`fg cat`命令将其恢复到前台,然后使用`Ctrl`+`C`键来终止。 2. **使用`fg`命令将其恢复到前台**:当使用`fg`命令将一个后台进程切换到前台时,该进程将继续执行。如果进程之前是因为按`Ctrl`+`Z`键而被挂起的,那么现在它将继续从挂起点继续执行。这是因为`fg`命令仅仅是将进程从后台切换到了前台,并没有改变进程的状态。 通过本次实验,不仅能够深入理解Linux系统中的进程管理,还能够掌握一系列实用的命令,这对于日常的系统管理和维护都是非常有用的。
- 粉丝: 3
- 资源: 17
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 指针扫描和内存遍历二合一工具
- 基于JavaScript的在线考试系统(编号:65965158)(1).zip
- 五相电机双闭环矢量控制模型-采用邻近四矢量SVPWM-MATLAB-Simulink仿真模型包括: (1)原理说明文档(重要):包括扇区判断、矢量作用时间计算、矢量作用顺序及切时间计算、PWM波的生成
- Linux下的cursor安装包
- springboot-教务管理系统(编号:62528147).zip
- 3dmmods_倾城系列月白_by_白嫖萌新.zip
- SVPWM+死区补偿(基于电流极性)+高频注入法辨识PMSM的dq轴电感(离线辨识)-simulink
- 微信跑腿小程序的设计与实现
- 基于 Java 实现的上位机通讯程序,可与单片机进行数据交换
- screentshot-2024.12.22-20.45.35.jpg