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

网站描述多个词怎么分隔福建富通建设有限公司网站

网站描述多个词怎么分隔,福建富通建设有限公司网站,留学网站建设方案,专营网站建设管道的读写特点: 使用管道时,需要注意以下几种特殊的情况(假设都是阻塞I/O操作) 1.所有的指向管道写端的文件描述符都关闭了(管道写端引用计数为0),有进程从管道的读端 读数据,那么管…
管道的读写特点:
使用管道时,需要注意以下几种特殊的情况(假设都是阻塞I/O操作)
1.所有的指向管道写端的文件描述符都关闭了(管道写端引用计数为0),有进程从管道的读端
读数据,那么管道中剩余的数据被读取以后,再次read会返回0,就像读到文件末尾一样。2.如果有指向管道写端的文件描述符没有关闭(管道的写端引用计数大于0),而持有管道写端的进程
也没有往管道中写数据,这个时候有进程从管道中读取数据,那么管道中剩余的数据被读取后,
再次read会阻塞,直到管道中有数据可以读了才读取数据并返回。3.如果所有指向管道读端的文件描述符都关闭了(管道的读端引用计数为0),这个时候有进程
向管道中写数据,那么该进程会收到一个信号SIGPIPE, 通常会导致进程异常终止。4.如果有指向管道读端的文件描述符没有关闭(管道的读端引用计数大于0),而持有管道读端的进程
也没有从管道中读数据,这时有进程向管道中写数据,那么在管道被写满的时候再次write会阻塞,
直到管道中有空位置才能再次写入数据并返回。总结:读管道:管道中有数据,read返回实际读到的字节数。管道中无数据:写端被全部关闭,read返回0(相当于读到文件的末尾)写端没有完全关闭,read阻塞等待写管道:管道读端全部被关闭,进程异常终止(进程收到SIGPIPE信号)管道读端没有全部关闭:管道已满,write阻塞管道没有满,write将数据写入,并返回实际写入的字节数
#include <unistd.h>
#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
/*设置管道非阻塞int flags = fcntl(fd[0], F_GETFL);  // 获取原来的flagflags |= O_NONBLOCK;            // 修改flag的值fcntl(fd[0], F_SETFL, flags);   // 设置新的flag
*/
int main() {// 在fork之前创建管道int pipefd[2];int ret = pipe(pipefd);if(ret == -1) {perror("pipe");exit(0);}// 创建子进程pid_t pid = fork();if(pid > 0) {// 父进程printf("i am parent process, pid : %d\n", getpid());// 关闭写端close(pipefd[1]);// 从管道的读取端读取数据char buf[1024] = {0};int flags = fcntl(pipefd[0], F_GETFL);  // 获取原来的flagflags |= O_NONBLOCK;            // 修改flag的值fcntl(pipefd[0], F_SETFL, flags);   // 设置新的flagwhile(1) {int len = read(pipefd[0], buf, sizeof(buf));printf("len : %d\n", len);printf("parent recv : %s, pid : %d\n", buf, getpid());memset(buf, 0, 1024);sleep(1);}} else if(pid == 0){// 子进程printf("i am child process, pid : %d\n", getpid());// 关闭读端close(pipefd[0]);char buf[1024] = {0};while(1) {// 向管道中写入数据char * str = "hello,i am child";write(pipefd[1], str, strlen(str));sleep(5);}}return 0;
}

 

http://www.yayakq.cn/news/990836/

相关文章:

  • 做电商网站用什么技术用ih5做微网站
  • wordpress小说站群外省住房和城乡建设厅网站
  • 手机网站 制作泰安人才市场最新招聘信息
  • 个人网站模板 免费海宁网站开发
  • 南京网站设计搭建公司优秀的手机网站案例
  • 酒店网站开发协议深圳万户网络科技有限公司
  • 企业网站建设维护方案一家专门做开网店的网站
  • 创意做美食视频网站宁波网络推广
  • 网站相关前置许可开发公司交房前保洁谁承担
  • 做网站找哪个公司wordpress主页菜单
  • 网红营销是什么短视频seo获客
  • 网站开发强制使用急速内核怎么查询网站的域名
  • 多语种外贸网站网站做的比较好的
  • 浅谈网站开发的意义通过命令上传wordpress
  • 怎么注册个人的网站易书网上书城网站建设方案
  • oa办公软件怎么使用怎样优化网络速度
  • 网站建设优化开发公司哪家好h5怎么免费制作
  • 没网站可以做百度推广吗龙岩app建设
  • 做it的在哪个网站找工作温州网站制作哪家好
  • 网络app制作网站有哪些内容平江县网站建设
  • pc网站如何转为手机版青海网站建设推广
  • 建电影网站程序wordpress 打开非常慢
  • 新手怎么样学做网站免费自己制作网站方法
  • 网站域名解析后多久能生效google属于搜索引擎类网站.
  • 微信定制开发 网站开发网站建设qq群
  • 做庭院的网站广西住房和城乡建设厅官网培训
  • 我看别人做系统就直接网站下载文件广西做网站的公司有哪些
  • 域名解析 网站建设企业官网建站
  • 商商业网站建设wordpress自动清缓存
  • 现在什么网站做推广比较好wordpress模板目录结构