本文共 1221 字,大约阅读时间需要 4 分钟。
编写程序,子进程通过管道向父进程发出字符串"ok".
1 #include2 #include 3 #include 4 int main(void) { 5 int data_processed; //用于记录已经处理的数据 6 int file_pipes[2]; //定义两个文件描述符 7 char buffer[BUFSIZ + 1]; //定义一个缓冲区,以便从管道中读取数据 8 const char * some_data = "OK"; //定义一个将要写入管道中的字符串 9 memset(buffer, '\0', sizeof(buffer)); //初始化读取缓冲区10 int fork_result;11 if (pipe(file_pipes) == 0) { //创建管道12 fork_result=fork();13 if(fork_result==-1){14 fprintf(stderr,"创建子进程失败");15 exit(EXIT_FAILURE);16 }17 if(fork_result==0){ //说明我们在子进程中18 data_processed = read(file_pipes[0], buffer, BUFSIZ);19 printf("子進程读出%d个字符。内容是:%s\n",data_processed,buffer);20 }else{ //说明我们在父进程中21 data_processed = write(file_pipes[1], some_data, sizeof(some_data));22 printf("父進程写入%d个字符\n", data_processed);23 }24 exit(EXIT_SUCCESS);25 }26 return EXIT_SUCCESS;27 }28
转载:http://www.cnblogs.com/kissazi2/archive/2013/01/20/2868278.html