1638_chdir函数的功能

news2024/12/26 0:22:41

         全部学习汇总:GreyZhang/g_unix: some basic learning about unix operating system. (github.com)

         今天看一个半生不熟的小函数,chdir。说半生不熟,是因为这个接口一看就知道是什么功能。然而,这个接口如何用可真就没啥想法了。

         最早接触这样的一个接口自然还是perl学习的时候,到了后面接触python也看到了类似的接口在os的模块之中。看起来,归根结底大家追溯到的还是UNIX的这一套。

1. 这个功能属于库函数的类别。

2. 从设计的准则上,这个是POSIX标准的接口,linux可能实现有所不同。跟前面看到的接口有相同的描述了。

3. 看起来,函数执行成功返回0,失败的时候返回-1是一个较为常见的处理方式。或许是某种标准或者规范。

4. 这里提出来的根目录的疑问,其实到了后面也就有一个大概的理解印证了。

1. 函数的接口功能就是切换工作目录,其实跟命令中的cd应该是基本类似的。然而,perl中的经典教程小骆驼中印象中提过,很多perl中的接口也不见得跟unix的接口有啥对等关系。而cd的类似功能,perl不会去实现。

2. 在标准方面,这个是满足POSIX.1-2007,之前看到的基本都是2008,这还是第一次看到2007的标准。

3. 结合示范代码以及描述,其实这个接口可以切换的目录还是很自由的。自然,权限以及特殊的冲突状态还是得考虑的。

         由此,前面分析的代码也就有一个很好去理解的基础了。这个函数其实是一个死循环,不断读取来自于终端的信息。如果判断出来是cd命令,那么就切换工作目录。如果切换失败给出错误提示,输出到stderr中。这样的处理过程是在不断进行的。

         继续往下,又是新的接口。倒是之前看过的fork,不过这次看到的应该是一个全新的实现,这样后续单独做这个分析。

         从整个程序的设计结构来看,其实是十分类似于嵌入式里面的一个简单的轮询处理的过程,整个处理过程就是在不断扫描处理的过程。可能这个只是用来阐明这样的一个简单机制,不然操作系统执行的时候必然会出现很多阻塞的情况。

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

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

相关文章

【微信小程序】-- 自定义组件 -- 数据、方法和属性(三十三)

💌 所属专栏:【微信小程序开发教程】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &…

设计模式之门面模式(外观模式)

目录 1.模式定义 2.应用场景 2.1 电源总开关例子 2.2 股民炒股场景 ​编辑 3. 实例如下 4. 门面模式的优缺点 传送门: 项目中用到的责任链模式 给对象讲工厂模式,必须易懂易会 策略模式,工作中你用上了吗? 1.模式定…

Linux order(文件、磁盘、网络、系统管理、备份压缩)

1. Linux 文件命令 -rwxrwxrwx chmod:change mode,用于(文件所有者或 root )变更用户(u:owner g:group o:other a:all)的权限 chmod [OPTION]… MODE[,MODE]… FILE… OPTION -R:递归修改more option:chmod…

【WPS文字-Word】WPS文字设置段落居中对齐后公式左边右边的文字仍然无法跟公式对齐,公式和文字对不齐

一、问题背景 原来的公式左边文字是底端,右边文字是居中,我想着让左右文字全跟公式居中对齐,就全部设置了段落居中对齐。 结果发现,公式左右边的文字依然无法居中对齐。左边的文字是居中,但是右边的文字变成了顶端对…

数据推介⎮情感语音合成音库

在语音交互领域,语音合成是重要的一环,其技术也在不断发展。近年来,人们对情感合成的兴趣和需求越来越高。情感语音合成会让机器如真人一样和我们交流,它可以用愤怒的声音、开心的声音、悲伤的声音等不同情绪来表达,甚…

Atlassian Server用户新选择 | 云版和本地部署的数据中心版,总有一个适合您

Atlassian对Server版本产品的支持将于2024年2月15日结束,现在,是时候创建您的迁移计划了。一起来看看您需要了解什么基础知识以及如何规划下一步行动吧。 虽然离终止支持还有几个月的时间,但对于使用Server版的企业来说,这是一则…

数字孪生与 UWB 人员定位:双剑合璧的智能物联新时代

人员定位是指利用各种定位技术对人员在特定场所的位置进行准确定位的技术。人员定位技术主要应用于需要实时监控、管理和保障人员安全的场所,如大型厂区、仓库、医院、学校、商场等。人员定位技术的应用范围非常广泛,例如:-在工厂生产线上&am…

MySQL数据库迁移

考试系统的数据库一直是在我自己的服务器上面的, 但是最近,自己的服务器马上要过期了,里面的MySQL数据需要迁移出来,放在另外一个服务器上面。百度了几篇教程,也没研究太多,选了一种比较简单的方式进行迁移…

蓝桥杯三月刷题 第7天

文章目录💥前言😉解题报告💥三角回文数🤔一、思路:😎二、代码:💥数数🤔一、思路:😎二、代码:💥数组切分🤔一、思路:😎二、…

归并排序的学习过程(代码实现)

归并排序的学习过程 在知乎上搜索相关内容: 先在必应和知乎上搜索归并排序的概念: 归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型…

工作记录:举步维艰的在线 word 之旅 - tinymce

项目中需要实现 “在线编辑 word 模板” 的功能,我打算使用富文本组件 tinymce ,因为业务需求比较特殊,研究一下 tinymce 是否能实现。 如何在 vue 项目中引用 tinymce,可以看另一篇文章 《在 vue 项目中使用 tinymce》 &#x…

HTML文档的基本结构

HTML文档以.html结尾&#xff0c;可以直接使用笔记本创建。 外部结构 <!DOCTYPE HTML><html></html>HTML文档外部结构由DOCTYPE和HTML构成。DOCTYPE告诉浏览器处理的是HTML文档&#xff0c;HTML规定使用HTML5标准。 然后是html元素&#xff0c;他告诉浏览…

基于Spring事件驱动模式实现业务解耦

事件驱动模式 举个例子&#x1f330; 大部分软件或者APP都有会有会员系统&#xff0c;当我们注册为会员时&#xff0c;商家一般会把我们拉入会员群、给我们发优惠券、推送欢迎语什么的。 值得注意的是&#xff1a; 注册成功后才会产生后面的这些动作&#xff1b;注册成功后的…

Flutter(五)容器类组件

布局类组件包含多个子组件&#xff0c;而容器类组件只包含一个子组件 目录填充&#xff08;Padding&#xff09;装饰容器&#xff08;DecoratedBox&#xff09;变换&#xff08;Transform&#xff09;Transform.translate 平移Transform.rotate 旋转Transform.scale 缩放Rotate…

C++中拷贝构造和赋值重载的注意事项以及编译器的优化处理

C中拷贝构造和赋值重载的注意事项以及编译器的优化处理前言1. 拷贝构造和赋值重载的易混淆点和注意事项1.1 易混淆点1.2 注意事项2.编译器对拷贝构造和赋值重载的优化处理前言 本文可以帮助你对下面&#xff1a; &#xff08;1&#xff09;何时调用拷贝构造何时调用赋值重载 &a…

多元统计分析、混合效应模型、结构方程模型、极值统计学、贝叶斯网络、copula

生态环境视角下的多元统计分析 1、多元数据分析:概念、定义、及应用困惑; 2、生态环境数据多元统计方法及应用情景; 3、生态环境多元数据分析预处理; 时长&#xff1a;2小时24分钟 结构方程模型&#xff08;SEM&#xff09;原理、构建流程及应用 1、结构方程模型基本原理 …

Windows 事件日志分析管理

Windows 设备是大多数商业网络中最受欢迎的选择。为了处理这些设备生成的数 TB 的事件日志数据&#xff0c;安全管理员需要使用功能强大的日志管理工具&#xff08;如EventLog Analyzer&#xff09;&#xff0c;该工具可以通过自动执行日志收集、解析、分析、关联和存档等过程来…

STM32—IIC

IIC协议概述 IIC全称Inter-Integrated Circuit (集成电路总线) 是由PHILIPS公司在80年代开发的两线式串行总线&#xff0c;用于连接微控制器及其外围设备。IIC属于半双 工同步通信方式 特点 简单性和有效性。 由于接口直接在组件之上&#xff0c;因此IIC总线占用的空间非常小&…

信捷 XDH Ethercat A_WRITE指令

本指令修改指令轴的当前位置。 什么时候需要用本指令呢&#xff1f;换句话说&#xff0c;用本指令后&#xff0c;坐标原点修改了偏移了。如果在回原点后&#xff0c;往前走了一段距离x,如果是用绝对模式执行把位置修改成0&#xff0c;那么下一次开始每次做绝对运动A_MOVEA&…

黑客为什么戴盖伊福克斯面具

本文是是番外篇&#xff0c;是作者闲的没事把昼夜写完之后瞎写的文章 文章目录前言一、盖伊福克斯是谁&#xff1f;人物背景二、原因匿名面具背后的故事是什么&#xff1f;总结前言 在网上搜索黑客应该是戴帽子的或者是戴面具的 黑客在常人眼中是无所不能的可以上天入地&#…