Linux进程控制实验:fork与vi编辑器的使用
需积分: 0 140 浏览量
更新于2024-08-05
收藏 816KB PDF 举报
"实验二_16281022_战泓夷1"
在本次实验中,我们探讨了进程控制以及如何利用Linux系统调用和命令来管理和观察进程。实验主要包括两个部分:
第一部分涉及查找和理解进程树。首先,通过在终端中使用`vi`启动一个编辑器进程,然后利用`ps`命令的不同参数来查找和显示与`vi`相关的进程。例如,可以使用`ps -C vi`来仅显示名为`vi`的进程。接着,我们需要跟踪这些进程的父进程ID,直到找到根进程`init`。这可以通过反复使用`ps`命令并关注`PPID`(父进程ID)字段来实现。同时,`pstree -p1`命令提供了一种简洁的视图,显示了以`init`为起点的整个进程树。两者对比,`ps`命令提供的信息更为详尽,而`pstree`则更直观。
第二部分涉及到`fork`系统调用和`exec`函数的使用。我们编写了一个程序,使用`fork`创建子进程。在父进程中,我们设置了一个空循环,以便它能持续运行。而在子进程中,我们调用`exec`来启动`vi`编辑器。为了监控这个过程,可以在另一个终端中使用`ps -Al`、`ps aux`或`top`命令。这些命令可以帮助我们了解进程的状态,如CPU利用率、内存使用情况以及进程的优先级和nice值等。例如,`ps -Al`提供了包括PID、PPID、CPU使用率(%CPU)和内存使用率(%MEM)在内的详细信息。为了按CPU占用率排序进程,可以使用`ps -eo %cpu,pid,cmd`等参数。这有助于我们观察`vi`进程及其父进程的资源使用情况。
在这个实验中,我们学习了如何利用`fork`创建进程,以及如何通过`exec`在子进程中替换执行体,从而启动新的程序。同时,我们掌握了如何使用Linux命令来监控和分析系统中的进程,这对于理解和优化系统的性能至关重要。通过实践,我们加深了对进程生命周期、父子进程关系以及系统资源管理的理解。
2021-10-02 上传
2022-07-12 上传
2022-07-14 上传
2022-07-14 上传
168 浏览量
302 浏览量
316 浏览量
点击了解资源详情
maXZero
- 粉丝: 29
- 资源: 303
最新资源
- 探索数据转换实验平台在设备装置中的应用
- 使用git-log-to-tikz.py将Git日志转换为TIKZ图形
- 小栗子源码2.9.3版本发布
- 使用Tinder-Hack-Client实现Tinder API交互
- Android Studio新模板:个性化Material Design导航抽屉
- React API分页模块:数据获取与页面管理
- C语言实现顺序表的动态分配方法
- 光催化分解水产氢固溶体催化剂制备技术揭秘
- VS2013环境下tinyxml库的32位与64位编译指南
- 网易云歌词情感分析系统实现与架构
- React应用展示GitHub用户详细信息及项目分析
- LayUI2.1.6帮助文档API功能详解
- 全栈开发实现的chatgpt应用可打包小程序/H5/App
- C++实现顺序表的动态内存分配技术
- Java制作水果格斗游戏:策略与随机性的结合
- 基于若依框架的后台管理系统开发实例解析