实验题目
1、打开一个vi进程。通过ps命令以及选择合适的参数,只显示名字为vi的进程。寻找vi进程的父进程,直到init进程为止。记录过程中所有进程的ID和父进程ID。将得到的进程树和由pstree命令的得到的进程树进行比较。
2、编写程序,首先使用fork系统调用,创建子进程。在父进程中继续执行空循环操作;在子进程中调用exec打开vi编辑器。然后在另外一个终端中,通过ps –Al命令、ps aux或者top等命令,查看vi进程及其父进程的运行状态,理解每个参数所表达的意义。选择合适的命令参数,对所有进程按照cpu占用率排序。
3、使用fork系统调用,创建如下进程树,并使每个进程输出自己的ID和父进程的ID。观察进程的执行顺序和运行状态的变化。

4、修改上述进程树中的进程,使得所有进程都循环输出自己的ID和父进程的ID。然后终止p2进程(分别采用kill -9 、自己正常退出exit()、段错误退出),观察p1、p3、p4、p5进程的运行状态和其他相关参数有何改变。
实验解答
1、打开终端,输入vi并回车执行,打开一个vi进程

打开一个新终端。输入ps -A命令,查看所有进程的ID,执行结果如下图。可以看到,第一步打开的vi编辑器的进程id是63561。

这篇实验报告详细记录了操作系统实验中关于进程控制的四个部分:通过ps命令追踪vi进程及其父进程到init;使用fork创建子进程并用exec打开vi,分析进程状态;构建并观察进程树;以及通过不同方式终止子进程,研究其对父进程的影响。实验过程展示了各种进程状态和参数的含义。
最低0.47元/天 解锁文章
298

被折叠的 条评论
为什么被折叠?



