进程通信 在进程之间进行信息交换,包括传递信号和数据。 Linux无名管道通信 若只触发某些行为,软中断信号机制简捷有效。 若进程间需交换数据? ---- 管道 管道:用“管道”将读写进程连接在一起,写进程将数据从写入端写入,读进程将数据从读出端读出。数据量大小是系统定义的最大缓冲区字节数。 创建和使用无名管道的系统调用 1. 创建管道 格式: int pipe( int fp[2] ); 返回:0 --- 正确返回,-1 ---- 错误返回 参数:fp[1]为写入端,fp[0]为读出端 功能:创建一个无名管道fp,fp[1]用于写,fp[0]用于读。 2. 读写管道----借助文件机制 格式:写管道 write( fp[1], buf, size ); 读管道 read( fp[0], buf, size ); 参数:buf为数据缓冲区;size为l读写长度。 头文件:unistd.h 管道通信示例1 main() { int p1, fd[2] ; char outpipe[50], inpipe[50]=“This is a message from child.”; pipe(fd); p1=fork(); if (p1==0) write(f
原创力文档

文档评论(0)