1638_chdir函数的功能
创始人
2024-06-01 01:28:12
0

         全部学习汇总: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,不过这次看到的应该是一个全新的实现,这样后续单独做这个分析。

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

相关内容

热门资讯

福建省药监局发布2025年服务... 转自:海峡消费报6月30日上午,福建省药监局召开新闻发布会,向社会各界通报近年省药监局服务医药产业发...
关于“支持创新药高质量发展的若... 转自:氨基观察2025年7月1日上午,为进一步完善全链条支持创新药发展举措,推动创新药高质量发展,更...
北京住房公积金管理中心:公积金... 人民财讯7月1日电,北京住房公积金管理中心公众号消息,2024—2025年度(2024年7月1日—2...
燃擎岚岛 2025平潭国际赛车... 来源:中国网6月27日-29日,2025平潭国际赛车嘉年华将在平潭如意湖国际城市赛道正式启幕,作为平...
七旬老人花175万投资“洛阳古... 来源:案件聚焦 中央领导都关心的“洛阳隋唐城遗址”开发项目,有投资保障的政府债券,年化收益10.5%...
众生药业:获得环孢素滴眼液(I... 转自:财联社【众生药业:获得环孢素滴眼液(III)及复方托吡卡胺滴眼液《药品注册证书》】财联社7月1...
物产金轮(002722.SZ)... 格隆汇7月1日丨物产金轮(002722.SZ)公布,2025年6月,公司未进行回购。截至2025年6...
沪皖协作探新路:从“单向帮扶”... 转自:上观新闻近日,安徽赛富乐斯半导体科技有限公司R系列芯片产线正式投产,国内量产Micro-LED...
“三大纪律八项注意”——始终同... 转自:中央纪委国家监委网站1935年10月,红一方面军的战士征得老乡同意后,在延安吴起县倒水湾村驻扎...
亚普股份:累计回购10万股 亚普股份(SH 603013,收盘价:17.29元)7月1日晚间发布公告称,截至2025年6月底,公...