【www.arisingsemi.com--IT认证】

arent
实验一:进程创建、并发执行
一、 实验目的
加强对进程概念的理解
进一步了解并发执行的实质
二、 实验内容

1、 利用fork()函数创建子进程。


2、 考察fork()函数创建的子进程与父进程之间的同名变量是否为临界资源。


3、 利用fork()函数编写一个程序,要求父进程创建两个子进程,父进程、子进程并发执行,输出并发执行的消息。

三、 实验环境
PC + Linux Red Hat操作系统
GCC
四、 实验原理及实验思路
fork()
功能:创建一个新的进程
语法:#include    #include    pid_t fork();
说明:本系统调用为调用进程(也称父进程)创建一子进程。事实上,子进程是父进程的一个“复制品”。父子进程为独立进程,平等调度,用户空间独立 。
返回值:调用成功,则返回两次。对子进程返回0,对父进程返回子进程号,这也是最方便的区分父子进程的方法。
调用失败则返回-1给父进程,子进程不生成
kill()
功能:杀死执行中的进程
语法:#include    #include
void kill(pid_t pid,int signo);
说明:pid为要被杀死的进程id,signo可以置为SIGINT或SIGTERM。
返回值:等待到一个子进程返回时,返回值为该子进程号,同时stat_loc带回子进程的返回状态信息(参考exit)。
若无子进程,则返回值为-1。
五、 流程图




六、源代码
Lab1-
1:
#include
#include
#include
main()
{
pid_t child;
printf(“Forking...\n");
child =fork();
if (child

本文来源:http://www.arisingsemi.com/it/55601/