当前位置: 首页 > news >正文

无锡响应式网站建设教育培训网站

无锡响应式网站建设,教育培训网站,中国航发网上商城官网,今天河南重大新闻无名管道:首先它是内核空间的实现机制;然后只能用于亲缘进程间通信;它在内核所占的大小是64KB;它采用半双工的通信方式;请勿使用lseek函数;读写特点:若读端存在写管道,那么有多少数据…
  • 无名管道:
  • 首先它是内核空间的实现机制;
  • 然后只能用于亲缘进程间通信
  • 它在内核所占的大小是64KB
  • 它采用半双工的通信方式;
  • 请勿使用lseek函数
  • 读写特点:
  • 若读端存在写管道,那么有多少数据,就写多少数据,直到无名管道写满为止,此时会出现写阻塞,当无名管道出现新的4KB空间,写操作就会解除阻塞;
  • 若读端不存在写管道,会出现管道破裂的情况;
  • 若写端存在读管道,那么有多少数据,就读多少数据,没有数据的时候,会出现阻塞等待
  • 若写端不存在读管道,有多少数据,就读多少,没有数据的时候,就会立即返回,即非阻塞的状态;
  • 创建无名管道(pipe函数):
	#include <unistd.h>int pipe(int pipefd[2]);/*功能:创建一个管道,是一个单向的数据通道,可用于进程间通信数组pipefd返回两个指向管道的文件描述符:pipefd[0]指向管道的读端 pipefd[1]指向管道的写端写入管道的数据被内核缓冲(64KB),直到从管道中读走参数:操作管道的文件描述符数组 pipefd[0]指向读端 pipefd[1] 指向管道的写端返回值:成功 0失败 -1 重置错误码*/ 
  • 实例要求:
  • 创建一个进程,要求使用无名管道,实现父进程写子进程读的操作;
  • 示例代码:
	#include <stdio.h>#include <string.h>#include <stdlib.h>#include <unistd.h>#include <sys/types.h>#include <sys/wait.h>#include <stdbool.h>int main(int argc, char const *argv[]){   int pipe_fd[2] = {0};if(-1 == pipe(pipe_fd)){perror("pipe error");exit(-1);}pid_t pid = 0;if(-1 == (pid = fork())){perror("fork error");exit(-1);}else if(0 < pid) //父进程写{close(pipe_fd[0]);char buf[128] = {0};while(true){fgets(buf,sizeof(buf),stdin);buf[strlen(buf) - 1] = '\0';write(pipe_fd[1],buf,sizeof(buf));if(!strncmp(buf,"quit",4)){exit(-1);}}sleep(2);wait(NULL);   //回收子进程的资源}else if(0 == pid) //子进程读{close(pipe_fd[1]);char buf[128] = {0};while(true){memset(buf,0,sizeof(buf));read(pipe_fd[0],buf,sizeof(buf));if(!strncmp(buf,"quit",4)){close(pipe_fd[0]);exit(-1);}printf("父进程发来的消息[%s]\n",buf);}}return 0;}
  • 运行结果:
	linux@ubuntu:~$ gcc pipe.c linux@ubuntu:~$ ./a.out hello beijing父进程发来的消息[hello beijing]i love china父进程发来的消息[i love china]quitlinux@ubuntu:~$ 
  • 总结:
  • 为了防止误操作,在父进程和子进程里,分别关闭读端和写端;
http://www.shuangfujiaoyu.com/news/22307.html

相关文章:

  • 网站运营名词解释建一个外贸独立站大约多少钱
  • 个人建设门户网站 如何备案合肥网站制作
  • 月夜影院网站自然排名怎么优化
  • 沧州高端网站建设杭州seo整站优化
  • 苏州设计网站建设域名查询工具
  • 合肥哪家公司做网站网站快速排名优化
  • 套模板的网站多少钱seo关键词排名怎么提升
  • 做污事网站郑州seo优化顾问热狗
  • 众筹那些网站可以做网站排名优化软件联系方式
  • 中企网站建设站长工具查询网站信息
  • 怎么做网站的内链国际新闻网
  • 做英文网站要请什么样的人做淘宝关键词怎么选取
  • 网站开发语言在那看出来济南做网站公司哪家好
  • 合肥百度 网站建设最近国际新闻大事20条
  • 如何修改asp网站网络推广100种方式
  • 山河建设有限公司网站防疫管控优化措施
  • 郑州网站制作工作室环球资源网站网址
  • 做食品行业网站短视频推广策略
  • 网站设置的参数重庆seo技术教程博客
  • 做网站编辑是不是也要做推广推广优化seo
  • 网站建设 js抖音推广引流平台
  • 芸志建站怎么建立网站网站建设维护
  • wordpress伟静态青岛seo博客
  • 开发网站教程互联网营销师报考条件
  • 西安百度竞价托管seo网站分析工具
  • 简历表格 个人简历手机版网络优化工程师证书
  • 靖边商务网站建设谷歌外贸seo
  • 设计师培训计划百度seo最成功的优化
  • 网站建设合同是否缴纳印花税百度一下搜索一下
  • visual studio做网站搭建网站教程