文件描述符fd和重定向(dpu、dpu2)

2024-01-23 18:18
文章标签 重定向 fd 描述符 dpu dpu2

本文主要是介绍文件描述符fd和重定向(dpu、dpu2),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一:文件描述符
文件描述符是什么?
文件描述符实际是一个数字,进程如何通过一个数组来操作文件?
这里写图片描述
Linux进程默认情况下会有3个缺省打开的文件描述符,分别是标准输入0,标准输出1,错误标准输出2;
0,1,2对应的物理设备一般是:键盘,显示器,显示器。
文件描述符是进程pcb中files _struct这个结构体中文件描述信息的结构体数组的下标,操作系统就可以通过这个数字下标找到对应的文件信息,来完成对这个文件的操作。
其他文件描述符是未使用的最小下标。

 //test.c1 #include<stdio.h>2 #include<unistd.h>3 #include<fcntl.h>4 #include<sys/stat.h>5 #include<sys/types.h>6 7 int main()8 {9        // close(0);10         //close(2); //如果将2关闭即错误标准输出,将无法perror11        close(1);//如果将1标准输出关闭,将无法printf,因为printf是把内容打印到标准输出上12        // 如果关闭0,1,2对程序没有影响,关闭哪个࿰

这篇关于文件描述符fd和重定向(dpu、dpu2)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/637112

相关文章

【续2】linux C语言 文件描述符 读写地址分析

记录时间:2014-10-24 10:35 记录原因:一直对文件指针读写存在疑惑,导致经常性的操作文件时,结果不理想。原来一直是对文件被打开后,对文件流指针的读写位置没有弄清楚。 文件在打开后,任何一个对文件的操作都会改变文件流指针的位置,所以在对文件进行操作时,应从如下两点考虑: 1、文件是不是第一次打开:可以确认文件指针的确却位置; 2、检测文件打开方式,特殊注

linux C语言 文件描述符 读写地址分析

1、fwrite 和 fread对文件操作之后,文件位置指针已经移动到被操作的位置; 2、如果不是在fread或fwrite操作后的位置读、写文件内容,那么必须重新定位文件指针位置,此时可以使用 rewind、fseek函数; 3、rewind(FILE *stream):将文件指针直接移动到文件起始位置; 4、fseek(FILE *stream, long offset

【Linux】系统文件IO·文件描述符fd

前言  C语言文件接口  C 语言读写文件 1.C语言写入文件 2.C语言读取文件 stdin/stdout/stderr 系统文件IO 文件描述符fd: 文件描述符分配规则: 文件描述符fd: 前言 我们早在C语言中学习关于如何用代码来管理文件,比如文件的输入和文件的输出,一些文件的接口,如何深入学习文件的知识,在Linux下一切皆文件,今天我们探讨Linux的基础I/

【车载测试】CAN协议、CAN- FD协议和FlexRay协议 区别

【上半场电动化,下半场智能化】 一、CAN协议 和 CAN- FD协议的区别 CAN(Controller Area Network)协议是一种广泛用于汽车和工业控制系统等领域的现场总线协议。CAN- FD(Flexible Data Rate)协议是对CAN协议的扩展,旨在提高CAN总线的数据传输速率和数据量。 1.数据速率不同 CAN协议是基于ISO 11898标准,通常支持最高1Mbps的

请求重定向、请求转发、请求包含

重定向:地址栏有变化,一个Servlet,是二个请求 转发:地址栏没变化,至少2个Servlet,是一个请求(留头不留体,意思就是最好不要体(因为你都去叫别人帮忙了,你还做点事,那还不如不叫别人帮忙呢,自己做得了),留个头就行了,这个头用HttpWatch可以在刷新页面是看到) 包含:与转发的区别就是又留头又留体(意思是叫别人帮忙时,你自己也做点事情) 就比如:你的上司叫你

BUG cn.bing.com 重定向的次数过多,无法搜索内容

BUG cn.bing.com 重定向的次数过多,无法搜索内容 环境 windows 11edge浏览器 详情 使用Microsoft Edge 必应搜索显示"cn.bing.com"重定向次数过多,无法进行正常的检索功能 解决办法 检查是否开启某些科_学_上_网(翻_墙)软件,若开启,将 cn.bing.com、www.bing.com 两个网址加入白名单(PAC直连域名)重

【每日一库】fd - 文件搜索神器

find 命令,是我们 Linuxer 经常会用到的命令行工具之一,频率可能会比昨天介绍的 grep/ripgrep 工具稍微低一点。它的作用是在文件系统目录中搜索符合指定文件名模式的文件。这里介绍的 fd 是 find 的 Rust 替代实现。目前在 github 上 star 数量接近 10000。 fd 的语法与 find 有一些不同,这是这个工具的取舍。 先来看看这个工具的效果。

redis实战第十五篇 redis cluster的批处理中ask重定向解决方案

ask重定向现象请参考【传送门】 分别使用mget和pipline做批处理 1.使用mget批量获取,如果存在重定向问题,会抛出异常。 @Testpublic void testMget(){JedisCluster jedis = RedisClusterUtil.getJedis();List<String> results = null;results = jedis.mget(

redis实战第十四篇 redis cluster ask重定向

redis cluster除了有一个moved重定向,还存在ask重定向。ask重定向代表的状态比较特别,它是当slot处于迁移状态时才会发生。例如:一个slot存在三个key,分别为hello1、hello2、hello3,假设此时slot正在处于迁移状态,hello1已经迁移到了目标节点,此时如果在源节点获取hello1,则会报出ask重定向错误。 下面通过手动迁移slot来模拟ask重定向

redis实战第十二篇 redis cluster请求重定向

在集群模式下,redis在接收到键任何命令时会先计算该键所在的槽,如果改键所在的槽位于当前节点,则直接执行命令,如果改键位于其它节点,则不执行该命令,返回重定向信息。 比如hello这个键槽866上,而曹866位于31节点上,假设在32上执行get hello ,则会返回重定向信息。 127.0.0.1:6380> get hello(error) MOVED 866 192.168.0.31