实验三 进程控制与通信
一、【实验目的】
1、加深进程控制和进程通信的基本原理
2、熟练使用Linux 系统下进程控制、进程通信、信号量的系统函数
二、【实验内容】
1、进程并发图如图1所示:设有7个进程,其执行次序如图7-1所示。在Linux 中中使用C 语言利用系统调用命令fork(),execl(),exit(),wait()进程描述,调用execl()函数的时候,模拟调用/bin/echo 命令,向控制台输出依据可鉴别是哪个进程的字符串即可。 P1
P1P2P2P3
P3P4P4P5
P5P6
P6P7P7
图1 进程并发图
2、利用LINUX 通信机制,实现输入字符串的自动分流操作。其中通信方式自选,下面的问题描述以管道为例,示意图如图2;
一共涉及3个管道,4个进程。
● P1:从键盘接收输入字符串,写入管道pipe1
● P2:从ipe1接收字符串,若字符串的长度为偶数,则将其写入管道 pipe2中,否则将其写入管道pipe3中.
● P3:从pipe2中读出字符串,并显示"pipe2: Even length string" ● P4: 从pipe3中读出字符串,并显示"pipe3: Odd length string" 输入exit 程序退出。