淘客网站怎么做代理网站推广攻略

pingmian/2026/1/20 13:39:04/文章来源:
淘客网站怎么做代理,网站推广攻略,做网站的总结,wordpress自定义下载目录 文件内核对象 文件描述符的分配规则 重定向 重定向的概念 dup2系统调用 输出重定向 追加重定向 输入重定向 stderr解析 重定向到同一个文件中 分离常规输出和错输出 文件内核对象 上篇文章中我们介绍到了操作系统中的文件#xff0c;操作系统为了方…目录 文件内核对象 文件描述符的分配规则  重定向 重定向的概念 dup2系统调用 输出重定向 追加重定向 输入重定向         stderr解析 重定向到同一个文件中 分离常规输出和错输出 文件内核对象 上篇文章中我们介绍到了操作系统中的文件操作系统为了方便管理进程打开的每个文件都会给每个文件创建一个内核对象(struct file)。但是每个进程可能打开多个进程因此操作系统会形成一个数组数组中的每个元素为文件内核对象指针指向当前进程打开的每个文件数组的下标就代表一个打开的文件对文件进行操作就是对数组的下标进行操作。打开的文件会加载在内存中每个文件也都会有一段内存空间文件缓冲区打开文件会对文件进行操作一般就是读操作和写操作因此每个文件内核对象中一定含有这三种信息 打开文件的属性进行文件操作的方法集文件的内存空间文件缓冲区 总结 不能对磁盘中的内存进行操作只能先将文件加载到内存中。对文件进行读数据和写数据都先要将文件加载到内存中当文件不在内存中时会造成缺页中断操作系统自动会将文件加载到内存中。数据的读写本质是将内核缓冲区中的数据进行来回拷贝。 文件描述符的分配规则  1 #includestdio.h2 #includesys/types.h3 #includesys/stat.h4 #includefcntl.h5 #includeunistd.h6 #includestring.h7 #define FILE_NAME log.txt8 int main()9 {10 11 char buffer[1024];12 ssize_t s read(0,buffer,1024);13 if(s0) 14 {15 buffer[s-1]0;16 printf(echo# %s\n,buffer);17 write(1,buffer,strlen(buffer));18 }26 return 0;27 } 可以直接使用0和1文件描述符进行键盘和显示器的读写。  #includestdio.h2 #includesys/types.h3 #includesys/stat.h4 #includefcntl.h5 #includeunistd.h6 #includestring.h 7 #define FILE_NAME log.txt8 int main()9 {10 int fd open(FILE_NAME,O_CREAT|O_WRONLY|O_TRUNC,0666);11 if(fd0)12 {13 perror(open);14 return 0;15 } 16 printf(fd:%d\n,fd);close(fd);17 return 0;18 }上篇文章我们说过进程会默认打开三个流stdin、stdout、stderr分别为012。 文件描述符的分配规则寻找最小的没有被使用的数据的位置分配给指定的打开文件。 重定向 重定向的概念 改变原来系统命令的默认执行方式Linux重定向是指修改原来默认的一些东西对原来系统命令的默认执行方式进行改变比如说简单的我不想看到在显示器的输出而是希望输出到某一文件中就可以通过Linux重定向来进行这项工作。 先执行一段代码看现象 #includestdio.h2 #includesys/types.h3 #includesys/stat.h4 #includefcntl.h5 #includeunistd.h6 #includestring.h7 #define FILE_NAME log.txt8 int main()9 {10 11 close(1);12 int fd open(FILE_NAME,O_CREAT|O_WRONLY|O_TRUNC,0666);13 if(fd0)14 {15 perror(open);16 return 0;17 }18 printf(fd : %d \n,fd);19 printf(stdout-fd : %d \n,stdout-_fileno);fflush(stdout);close(fd)return 0;} 当我们不使用fflush刷新stdout时显示器和新打开的文件都不会输出我们打印的内容现象对应我们的第一张图片。使用fflush刷新stdout时显示器不会输出我们的内容但是新打开的文件中含有我们输出的内容。 现象的解释进程运行是会打开我们的stdin、stdout、stderr对应的文件描述符为012。当我我们关闭1即关闭显示器。当新打开文件时根据文件描述符的分配规则文件描述符为1但是printf、fprintf底层只认文件描述符1但是此时的文件描述符已经不是stdout而是新打开的文件因此输出到新打开的文件中。 1 #includestdio.h2 #includesys/types.h3 #includesys/stat.h4 #includefcntl.h5 #includeunistd.h6 #includestring.h7 #define FILE_NAME log.txt8 int main()9 {10 11 close(0);12 char buffer[1024];13 int fd open(FILE_NAME,O_RDONLY); 14 if(fd0)15 {16 perror(open);17 return 0;18 }19 fread(buffer,1,sizeof(buffer),stdin);20 printf(%s\n,buffer);close(fd)return 0;} 根据上面的原理我们可以关闭0即关闭从键盘输入打开新文件此时新文件的文件描述符为0从新打开的文件中读取数据输入。  dup2系统调用 通过上面的代码我们可以实现输入、输出重定向但是需要我们手动关闭键盘或者显示器非常的麻烦Linux中提供了系统调用方便我们进行重定向。 当调用dup函数时内核在进程中创建一个新的文件描述符此描述符是当前可用文件描述符的最小数值这个文件描述符指向oldfd所拥有的文件表项。dup2和dup的区别就是可以用newfd参数指定新描述符的数值如果newfd已经打开则先将其关闭。如果newfd等于oldfd则dup2返回newfd, 而不关闭它。dup2函数返回的新文件描述符同样与参数oldfd共享同一文件表项。  输出重定向 #includestdio.h2 #includesys/types.h3 #includesys/stat.h4 #includefcntl.h5 #includeunistd.h6 #includestring.h7 #define FILE_NAME log.txt8 int main()9 {10 int fd open(FILE_NAME,O_CREAT|O_WRONLY|O_TRUNC,0666);11 if(fd0)12 {13 perror(open);14 return 0;15 }16 dup2(fd,1);17 printf(fd : %d \n,fd);18 printf(stdout-fd : %d\n ,stdout-_fileno);19 printf(hello Linux\n);20 fprintf(stdout,hello world\n); close(fd);return 0;} 使用系统调用进行重定向时并不会像我们一样关闭键盘或者显示器而是创建新的文件描述符然后让键盘或者显示器的文件描述符和键盘、显示器断开和我们新打开的文件建立联系此时这个文件就含有两个文件描述符使用引用计数进行关闭文件。 追加重定向 #includestdio.h2 #includesys/types.h3 #includesys/stat.h4 #includefcntl.h5 #includeunistd.h6 #includestring.h7 #define FILE_NAME log.txt8 int main()9 {10 int fd open(FILE_NAME,O_CREAT|O_WRONLY|O_APPEND,0666);11 if(fd0)12 {13 perror(open);14 return 0;15 }16 dup2(fd,1);17 printf(fd : %d \n,fd);18 printf(stdout-fd : %d\n ,stdout-_fileno);19 printf(hello Linux\n);20 fprintf(stdout,hello world\n); close(fd);return 0;} 输入重定向         #includestdio.h2 #includesys/types.h3 #includesys/stat.h4 #includefcntl.h5 #includeunistd.h6 #includestring.h7 #define FILE_NAME log.txt8 int main()9 {10 // int fd open(FILE_NAME,O_CREAT|O_WRONLY|O_APPEND,0666);11 int fd open(FILE_NAME,O_RDONLY); 12 if(fd0)13 {14 perror(open);15 return 0;16 }17 dup2(fd,0);18 // printf(fd : %d \n,fd);19 // printf(stdout-fd : %d\n ,stdout-_fileno);20 // printf(hello Linux\n);21 // fprintf(stdout,hello world\n);22 char buffer[1024];23 fread(buffer , 1,1024,stdin);24 printf(%s,buffer);close(fd);return 0;} stderr解析 上篇文章我们提到stdout和stderr都代表显示器流即往显示器文件中打印。 #includestdio.h int main() {fprintf(stdout,hello stdout\n);fprintf(stderr,hello stderr\n);return 0; } 但是我们进行重定向时只会将stdout进行重定向到文件中 stderr会在进程中保留。 因为fprintf底层只认文件描述符1因此stderr不会被重定向。 重定向到同一个文件中 分离常规输出和错输出 进程运行时难免发生错误输出错误信息为了和常规信息进行区别错误信息和常规信息分别独占一个显示器文件夹我们只需要查看错误信息的显示器文件夹即可发现程序的报错信息。 今天对Linux下文件重定向的分享到这就结束了希望大家读完后有很大的收获也可以在评论区点评文章中的内容和分享自己的看法个人主页还有很多精彩的内容。您三连的支持就是我前进的动力感谢大家的支持

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/87243.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电商网站建设实训心得网络公司哪个平台好

定义,在这两种资源的文件出现在你的代码 并在onCreate()在所有视图中Activity可以检查方向绑定的意见,你的类的对象。示例。在这里我们有包含在这两个文件的ImageView的,并在画像文件有一个TextView和景观它包含Button代替TextViewmy_layout.…

es网站建设文档流程做网站

本文为作者学习文章,按作者习惯写成,如有错误或需要追加内容请留言(不喜勿喷) 本文为追加文章,后期慢慢追加 by 2023年10月 网络安全认证技术是指通过密码、数字证书、生物特征识别等手段,对使用网络的用…

建设房地产网站招标采购导航网

目录 1.题目2.答案3.提交结果截图4.图解 链接: 串联所有单词的子串 1.题目 给定一个字符串 s 和一个字符串数组 words。 words 中所有字符串 长度相同。 s 中的 串联子串 是指一个包含 words 中所有字符串以任意顺序排列连接起来的子串。 例如,如果 w…

营销型网站是什么我市建设车辆违章查询网站 病句

过去几个月,深陷所谓“事理图谱”当中,苦恼不已。从2018年4月份开始做所谓的“事理图谱”以来至今,磕磕碰碰,做了很多技术上的尝试,也不乏在应用事理图谱上尝试了多种做法,也不乏写了几篇关于事理图谱的文章…

网站建设侵权免费好玩的网页游戏

ifconfig不显示IP地址 可以看到ens160并没有显示IP地址,刚刚装好的虚拟机是很干净的,连网卡都没有,我们修改一个配置文件: vim /etc/sysconfig/network-scripts/ifcfg-ens160将文件中的onboot修改为yes,即启动时需不需…

山西设计网站公司怎样把自己做的网站上传到网上

大数据场景下的数据库有很多种,每种数据库根据其数据模型、查询语言、一致性模型和分布式架构等特性,都有其特定的使用场景。以下是一些常见的大数据数据库: 1. **NoSQL 数据库**:这类数据库通常用于处理大规模、非结构化的数据。…

利用access做网站天猫网站是用什么技术做的

在完成jdk的配置后进行 配置方法: ①安装tomcat ②我的电脑--属性--高级系统设置--环境变量 ③创建CATALINA_HOME变量 ④然后编辑 path 环境变量引入CATALINA_HOME变量值 ⑤测试,打开浏览器输入localhost:8080 环境变量写法:  第…

做株洲网站需要多少钱手机网站建设合同

简介 什么是死锁? 我认为,死锁是由于两个对象在拥有一份资源的情况下申请另一份资源,而另一份资源恰好又是这两对象正持有的,导致两对象无法完成操作,且所持资源无法释放。 什么又是阻塞? 阻塞是由于资源不…

淮北论坛中文网站的seo怎么做

文章目录 C介绍环境配置第一个cpp程序案例练习 变量常量关系运算符逻辑运算符条件运算符位运算符类型转换分支循环程序调用综合案例 C介绍 基于C语言,继承了C的所有语法; 静态类型语言,需要先编译,再执行; 贴近底层硬…

小广告图片素材seo外链在线工具

一、前言实际上权限系统老早之前我就在一直开发,大概在刚毕业没多久就想一个人写一个系统,断断续续一直坚持到现在,毕竟自己亲动手自写的系统才有收获,本篇仅介绍权限。小小系统上不了台面,望各位大神勿喷。二、系统介…

网站友情链接的作用字体在线设计网站

文章目录1.首先了解一下linux的目录结构2.linux的基本命令之使用命令开关机3.linux的基本命令之目录管理1.ls—列出目录命令2.cd—切换目录命令3.pwd—查看当前所在目录命令4.mkdir—创建文件夹命令5.rmdir—删除文件夹命令6.cp—复制文件命令7.rm—传说中的删库跑路命令8.mv—…

网站建设后预期推广方式网站建设如何吸引投资

51单片机项目基础篇 LED流水灯1、硬件电路设计和原理分析2、软件设计2.1、利用循环和移位操作符功能实现:LED流水灯2.2、利用利用封装好的库函数功能实现:LED流水灯 3、编译结果4、结束语 LED流水灯 前言: 前几篇学会了LED驱动原理&#xff…

设备高端网站建设薇晓朵 wordpress 下载

Docker-compose下配置Mysql,Redis,MongoDB详解一、docker-compose简介二、构建一个实例项目1.前后端实现2.Dockerfile及docker-compose.yml3. 生成镜像三、实例程序源码一、docker-compose简介 Compose是用于定义和运行多容器Docker应用程序的工具。通过…

单位建设网站的目的模板网站建设价位

JAVA代码编写 动态规划(Dynamic Programming) 一个问题可以划分为多个子问题,且子问题之间有关联,就可以使用动态规划。 动态规划问题步骤: 确定dp数组(dp table)以及下标的含义确定递推公式…

山东网站建设网络公司凡科轻站官网

1 Laspy库介绍 laspy是一个Python库,主要用于读取、修改和创建LAS点云文件。该库兼容Python 2.6和3.5,并且可以处理LAS版本1.0-1.3的文件。 在laspy库中,可以使用命令行工具进行文件操作,如格式转换和验证,以及比较LAS…

深圳市建设交易网站菏泽百度推广公司电话

Java基础11——抽象类和接口 抽象类和抽象方法 区分普通方法和抽象方法 在Java 中,当一个类被 abstract 关键字修饰的时候这个类称为抽象类。当一个类的方法被 abstract 关键字修饰的时候,该方法称为抽象 方法。抽象方法必须定义在抽象类中。当一个方…

服装网站建设策划书预期投入广东睿营建设有限公司网站

亲爱的Linux用户们,是不是有时候觉得HTTP代理就像是一个魔法盒子,让你在数字世界中自由穿梭?但是,就像所有的魔法物品一样,它也会偶尔出点小状况。今天,我们就来一起探讨一下Linux系统中HTTP代理的常见问题…

手机网站你了解的外贸网站如何建站

文章目录 一、FunASR二、上代码(队列解决线程并发问题)三、测试 一、FunASR 在我的另一个博客有介绍FunASR,并且进行了语者分离,不过最近FunASR自带了语者分离,挺好挺好,但是一直看社区就是大家都用python写&#xff…

为什么做街舞网站制作演示网站

Timsort(泰姆排序)是一种混合排序算法,结合了合并排序(Merge Sort)和插入排序(Insertion Sort)的特性。它由Tim Peters在2002年为Python的排序算法而设计,并在Python 2.3版本中首次实…

成都营销类网站设计网站管理与建设

目录 力扣1089. 复写零 解析代码 力扣1089. 复写零 1089. 复写零 - 力扣(LeetCode) 难度 简单 给你一个长度固定的整数数组 arr ,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。 注意:请不要在…