|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Linux进程间通信(10)综合实验之有名管道通信实验
* F) F( `9 p. \0 a, o' o3 `3 e! v8 g1 `2 p2 D5 y
实验目的
3 X% H) D5 F7 U0 h* r% |7 F/ F& t0 v8 c: y7 B* A; l
通过编写有名管道多路通信实验,进一步掌握管道的创建、读写等操作,同时复习使用select()函数实现管道的通信。
, z, v4 b) A3 M% s$ g1 y. \* \$ b9 g# H# p
实验内容6 V2 N! {8 p3 y% n' D' ~) @
7 f8 j; w2 }3 E4 g 这里采用管道函数创建有名管道(不是在控制台下输入命令mknod),而且使用select()函数替代poll()函数实现多路复用。如果对管道通信的知识忘了的话,请看这篇:Linux进程间通信(3)这篇讲的是管道通信之有名管道和他的基础实验& S7 I3 D! V# I
' |& T" F2 r& v实验步骤" e! a8 Q f* F$ x( h
; z2 y C' W5 A y H O0 l G. b. h 实验流程图如下% y1 q1 p* R. J( K
. d# e( Y* L9 @
$ q+ o5 `& d8 b I9 U4 j* B& O$ O. Z+ m: [
本实验用到了一些函数,主要是FD_ISSET()函数是新的,其它的函数在开头的网址的链接博客中都可以找到。% i# u' [7 }1 |, z% T2 E. t
* z; K4 Z% g5 M源程序
! \$ ^1 l! W5 I$ J- |2 N" d9 x7 @# v
" y' z( O2 M1 l$ s pipe_select.c文件如下:
5 l$ k5 j. e S6 L) ]4 Q2 ~" X/ W- z, L7 G
! S# p _( q( {& m/ H+ p
2 G; E! {* c. o+ }% w. e: \
# m2 _0 x0 w* Z% g" y0 X$ g3 F8 n+ z" t' o, a2 \# r' {; t: v
' p P0 y& d \( J" ~3 K
|
|