【文件属性】:
文件名称:进程管道通信
文件大小:61KB
文件格式:DOC
更新时间:2015-08-07 15:06:49
管道通信
进程的管道通信
1)使用系统调用pipe()建立一条管道,系统调用fork()分别创建两个子进程,它们分别向管道写一句话,如:
Child process1 is sending a message!
Child process2 is sending a message!
2) 父进程分别从管道读出来自两个子进程的信
息,显示在屏幕上。
3) 两个子进程要并发执行。
4) 实现管道的互斥使用。当一个子进程正在对管道进行写操作时,另一个欲写入管道的子进程必须等待。 使用系统调用lockf(fd[1],1,0)实现对管道的加锁操作,用lockf(fd[1],0,0)解除对管道的锁定。
5) 实现父子进程的同步,当父进程试图从一空管道中读取数据时,便进入等待状态,直到子进程将数据写入管道返回后,才将其唤醒。