一.实验目的
1. 学会使用fork()/exec()模式创建进程(具有独立映象)的编程方法。
2. 加深理解进程的并发特性,掌握创建进程的正确编程方法。
3.完成实验3.1 用fork()模式创建进程;实验3.2 用fork/exec模式创建进程。
二.实验内容
实验3.1 用fork()模式创建进程
实验3.2 用fork/exec模式创建进程
三.实验主要步骤
实验3.1 用fork()模式创建进程
Linux中创建新进程的唯一方法是使用fork()函数。
C语言中, if else分支语句只会根据条件进入一个分支执行,但fork()执行一次却有两个返回值(if、else两个分支的语句都执行了)。
试运行以下程序,观察运行后的结果。
四、实验结果测试
1.在ostest文件夹下使用vim命令创建test3_1.c,test3_2.c,subp1.c,subp2.c,subp3.c;并根据指定代码内容编辑相应的文件。使用命令gcc 【c文件】 -o 【out文件名】进行编译。编译结果如图1所示。

图1
2.test3_1.c的代码内容和尝试运行1次的结果如图2所示。

图2
3.subp1.c的代码内容和尝试运行1次的结果如图3所示。

图3
4. subp2.c与subp3.c的代码内容和分别尝试运行1次的结果如图4所示。

图4
5.test3_2.c的代码内容如图5所示。

图5
6. 尝试运行3次test3_2.out的结果如图6所示。

图6
7. 尝试运行3次test2.out的结果如图7所示。

图7