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

织梦网站后台模板/seo优化百度技术排名教程

织梦网站后台模板,seo优化百度技术排名教程,一个高端的网站设计,计算机it培训班fcntl函数与dup/dup2函数 1.fcntl函数 控制int fcntl(int fd, int cmd, long arg) 如果管道是空的,read()默认是阻塞,可以通过fcntl函数改变管道状态,设置为非阻塞防止数据丢失。 参数 把文件描述符改为非阻塞的fcntl(filedes,F_SETFL,O_NONBLOCK); 2…

fcntl函数与dup/dup2函数

1.fcntl函数

控制int fcntl(int fd, int cmd, long arg)

如果管道是空的,read()默认是阻塞,可以通过fcntl函数改变管道状态,设置为非阻塞防止数据丢失。

  • 参数
    在这里插入图片描述

把文件描述符改为非阻塞fcntl(filedes,F_SETFL,O_NONBLOCK);

2.dup/dup2函数

dup/dup2标准输入输出重定向函数

  • 文件描述符复制
    在这里插入图片描述
    内核为每个进程创建的文件描述符。

① 函数int dup(int oldfd)

  • 参数
    在这里插入图片描述
  • 返回值
    在这里插入图片描述
      dup用来复制参数oldfd所指的文件描述符。当复制成功是,返回最小的尚未被使用过的文件描述符,若有错误则返回-1.错误代码存入errno中返回的新文件描述符和参数oldfd指向同一个文件,这两个描述符共享同一个数据结构,共享所有的锁定,读写指针和各项全现或标志位。

② 函数int dup2(int oldfd, int newfd)

  • 参数
    在这里插入图片描述
  • 返回值
    在这里插入图片描述
      dup2dup区别是dup2可以用参数newfd指定新文件描述符的数值。若参数newfd已经被程序使用,则系统就会将newfd所指的文件关闭,若newfd等于oldfd,则返回newfd,而不关闭newfd所指的文件。dup2所复制的文件描述符与原来的文件描述符共享各种文件状态。共享所有的锁定,读写位置和各项权限或flags等.

示例

  • 复制标准输出
    新文件描述符与旧文件描述符不同,但是具备旧文件描述符功能
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>int main(){int fd = dup(STDOUT_FILENO);fprintf(fdopen(fd,"w"),"%d printf:Hello dup\n",fd);
}
  • 复制文件描述符
    新文件描述符与旧文件描述符不同,但是具备旧文件描述符功能
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#define FILE_MODE (S_IWUSR|S_IRUSR|S_IRGRP|S_IROTH)int main(){int fd = open("./test",O_CREAT|O_RDWR,FILE_MODE); char str[]="Hello dup\n";write(fd,str,sizeof(str));int cp_fd = dup(fd);printf("copy %d to %d",fd,cp_fd);write(cp_fd,str,sizeof(str));//fprintf(fdopen(fd,"w"),"%d printf:Hello dup\n",fd);close(fd);
}
  • 把文件描述符重定向(复制)到标准输出
    printf()直接输出到文件中,不再输出到终端
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>#define FILE_MODE (S_IWUSR|S_IRUSR|S_IRGRP|S_IROTH)int main(){int fd = open("./test",O_CREAT|O_RDWR,FILE_MODE); char str[]="Hello dup\n";dup2(fd,STDOUT_FILENO);printf("%d printf:Hello dup\n",fd);
}

特点
必须是亲缘进程之间

dup()/dup2()原理图
在这里插入图片描述

http://www.lbrq.cn/news/802495.html

相关文章:

  • 个人网站流程/图片识别
  • 怎么做提卡密网站/北京搜索引擎优化主管
  • 高端简约30平米办公室装修/seo公司网站
  • 免费网站制作申请/seo最新快速排名
  • 开了网站建设公司 如何接业务/危机公关处理方案
  • 网站页面做成自适应优缺点/谷歌排名
  • wordpress 安全检测/谷歌seo代运营
  • 如何建设一个企业网站/今日最新消息新闻
  • 我的世界做墙纸网站/11月将现新冠感染高峰
  • 网页制作与网站建设论文/dz论坛seo设置
  • 石家庄网站建设推广公司/前端培训费用大概多少
  • 苏州新区高端网站制作/武汉seo优化服务
  • 上海展览设计制作公司/优化设计电子课本下载
  • 网站框架怎么做/深圳全网推互联科技有限公司
  • 论坛网站建设模板/竞猜世界杯
  • 淮安新网站制作/重庆百度推广开户
  • 做网站如何避免侵权/武汉好的seo优化网
  • 网站建设 艺麟盛世/中国职业技能培训中心官网
  • 同一个wifi下_我如何用手机访问我用我电脑做服务器的网站/站长工具的网址
  • 如何制作app软件演示教程/seo运营是做什么的
  • 邵阳高端网站建设/湖南网站推广优化
  • wordpress redis 刷新/青岛seo
  • 如何找网站做推广/百度竞价系统
  • 免费网站制作/推广链接
  • 扁平化 公司网站/南京seo公司教程
  • 织梦响应式网站怎么做/郑州seo推广
  • 网站建设百度百科/杭州网站优化公司
  • 海南响应式网站建设方案/站长工具权重查询
  • 制作网站网页/网站收录是什么意思
  • 个人备案网站可以做电影站吗/百度官方推广平台
  • 红黑树(RBTree)
  • 再见!三层框架开发
  • 【MQ】kafka同步和异步的区别
  • python---literal_eval函数
  • Python爬虫实战:研究mahotas库,构建图像获取及处理系统
  • LeetCode 热题100:206. 反转链表