• 2025年8月19日 星期二

H30423-实验二-进程的创建与并发执行之一

4 月 17, 2023

一.实验目的

(1)理解进程与程序的联系与区别以及并发程序的基本特性。

(2)学会在在程序中使用fork() 函数创建克隆式子进程的基本编程方法。

二.实验内容

命令进程的创建与并发执行

三.实验主要步骤

实验2.1  命令进程的创建与并发执行

①启动Linux,进入黑屏界面;

②在tty1上用root账号登录,在tty2和tty3上则分别以普通用户账号登录;

③在tty1上输入命令“ps –help”,即在tty1上创建命令进程ps,以查看ps命令的help信息;

④在tty2上输入命令“man man”,即在tty2上创建命令进程man,以查看man命令的help信息,不要终止该man命令;

⑤在tty3上执行命令“man pstree”,即在tty3上创建命令进程man,查看pstree命令的help信息,同样也不要终止该man命令;

⑥在tty1上执行ps命令,查看本控制台上所有进程的基本信息;

⑦在tty1上执行pstree命令,查看进程的分层结构。

⑧再在tty1上执行ps命令,查看本系统的所有进程的详细信息,并从中找到并记下tty2上的man命令进程的PID;你能看到ps命令输出的全部信息吗?

如果不能,可以利用Linux的“重定向”或“管道”功能,例如,可输入如下管道命令行:ps –aux | more

该命令行的语义是:将ps命令的输出结果作为输入传递给more命令(分页显示),并执行more命令。)

⑨撤消tty2上的man命令进程;

⑩再执行ps命令,查看被撤消的进程是否还存在;

⑾切换到tty2,观察man命令是否还在执行或已终止;再切换到tty3,观察man命令是否还在执行或已终止;

⑿注销 (不要关机)。

实验2.2  使用fork创建进程

本实验使用系统调用fork()创建多个子进程,实现多进程并发执行。

参考步骤:

1.在tty1上使用root用户登录,如图1所示。

图1

2.在tty2以普通账户登录,结果如图2所示。

图2

3.在tty3也用普通用户登录,结果如图3所示。

图3

4.在tty1输入命令 ps –help 创建ps进程,如图4所示。

图4

5.在tty2输入man man 查看man命令的帮助信息,结果如图5所示。

图5

6.在tty3上执行man pstree命令,结果如图6所示。

图6

7.在tty1上使用ps命令查看本控制台的进程信息,结果如图7所示。

图7

8.在tty1使用ps tree查看进程树信息,回显结果如图8所示。

图8

9.使用ps -aux | more 查看tty2的man man命令进程的详细信息,结果如图9所示。

图9

10.用kill命令撤销第10步中的进程信息,命令如图10所示。

图10

11.再次使用ps -aux查看进程信息,发现进程号为1725的指定进程已经没有了,如图11所示。

图11

12.使用fork创建进程:通过老师提供的唯一指定代码写入到用户家目录下的test2.c文件中,该文件代码如图12所示。

图12

13.使用gcc test2.c命令编译该程序,然后多次运行该程序,结果如图13所示。

图13
Avatar photo

李星海

简介: 2025-今 浙江农林大学 | 2022-今 广州白蓝碗蛋科技有限公司 | 2022-2024 广州商学院 | 2019-2022 广东工贸职业技术学院 | 服务宗旨:心始至客,行亦致远。