- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux系统中popen函数的缺陷与改遣方案.PDF
专家论坛
……*孙蠢猛lit……………………………………………………………………………………………………………m
Linux系统中popen函数的缺陷与改遣方案
陈惑峰互珊珊
库提供的popen函数却有两个致命的缺陷,本文分析了这两个缺陷产生的原因,
并给出改造方案。
关键词Linux,popen,popen函数,popen缺陷
2.缺陷
popen醋数的调用是比较容易的。但是在实际使用中,
一、前塞
popen函数帮有翔下辩个秧貉;
熟悉Linux的程序员们知道可以调用系统提供的popen函
数来执行shell命令势季譬到撼美结果。然两,系统提供的popen
瞒数却有着它自身的缺陷。
二、popen函数
中静态容。魏栗shell余令率势存在镑淡辩,它会把结果(~
I.使用方法
一个典型的popen函数的使用方法见程序段1。 ii{i
popen函数不支持对标准错误输出文I警内容的撼获。
程守段1:popen强数使舔
intmain(void】
就是长时间执行却不能终止的进程)时,在程序段1所示的代
f
璐孛程寄会停壹在如蠢豹澜麓处,毽~壹不髓终盎。其骧嚣
8
FILEstream;
charbuf【10241: 娥popen函数内部将管道文件设置成了阻塞的性质。在调用
/{胡始纯buf{/
memset(buf,7、O7,sizeof《buf)}: 开,然后农主程序串,又要阪读戆方式袅订拜。这样,当髯懿
4
r”参数)到
/s将’Is—I”命令的输出通过管道读取I 动作不能释放时,读的动作将一直被挂起。这种情况在某贱应
stream·/
爝孛是不允毒等发生瓣。
stream=popen《’ls一}’,。f’》:
/·将stream的数据流读取剿buf中女/
fread(bur,sizeof(char》,sizeof《buf), 出的内容众鄙捕获,又要避免命令发行后没有响应的情况发
stream): 擞,酃就妊须要改造这一套橇稍了。
/}以下熄对buf内容的处瑗,这里略i盘t/ 3.改造方案
popen滋数的致造方寨大体上遵循r
popen调熙方法黪三
pclose《stream):
步,分别设计相对应的函数:
return0:
} (1)popen函数的改造
通过如上的调尾,就能将shell命令“is—18的执行缭柒实褒popen函数麓援麓主要雹蕹热下尼轰;
放到数据块buf中。 1)能够将标准输入/输出文件和标准错误输出文件的内容
您可能关注的文档
- 9.3.1.2实验–在Windows7中安装打印机.PDF
- B0106-DQZQ0990-2012汉江短期融资券债项报告120606.PDF
- CIK细胞的生物学活性及抗淋巴瘤细胞的作用.PDF
- CPL扬帆起航开启英魂之刃2015赛事新纪元.PDF
- CSLT实习生考察报.PDF
- Gartner公布2019年十大战略科技发展趋势.PDF
- gle趋势分析的区域网络关注度研究.PDF
- Kv1.3通道在哮喘患者外周血T淋巴细胞中的表达及对Th2细.PDF
- LG冰淇淋系列翻盖智能手机谍照曝光.PDF
- MARPOL7378附则II2004修正案介绍.PDF
- 原电池电动势的测定实验报告.pdf
- 与业主、设计、总包、监理和他承包人的配合措施.pdf
- 公司管理流程.pptx
- 2024_2025学年新教材高中地理第1章地球的运动素养综合训练新人教版选择性必修1.doc
- 2024_2025学年新教材高中地理第3章大气的运动第1节常见天气系统第1课时锋与天气分层作业新人教版选择性必修1.doc
- 2024_2025学年新教材高中地理第1章地球的运动第2节地球运动的地理意义第4课时正午太阳高度的变化四季更替和五带划分分层作业课件新人教版选择性必修1.pptx
- 2024_2025学年新教材高中地理第2章地表形态的塑造第2节构造地貌的形成第1课时地质构造与地貌课件新人教版选择性必修1.pptx
- 2024_2025学年新教材高中地理第1章地球的运动问题研究人类是否需要人造月亮课件新人教版选择性必修1.pptx
- 五片小雪花课件.pdf
- 2024_2025学年新教材高中地理第3章大气的运动第2节气压带和风带第1课时气压带和风带的形成分层作业课件新人教版选择性必修1.pptx
最近下载
- 江苏开放大学2023年秋《现代城市社区建设概论 050016》第四次形考作业参考答案.docx VIP
- 部编版四年级下册语文知识点整理(超全)(完美打印版).doc
- 全球哮喘管理和预防策略-GINA 2023中文版.pdf VIP
- 中国工艺美术测试卷附答案.doc
- 12月15日-急诊预检分诊技巧与方法---副本.ppt
- 新大学日语标准教程(基础篇)2(第二版)陈俊森练习答案.pdf
- T/CAGHP 021-2018 泥石流防治工程设计规范.pdf
- 全球哮喘防治倡议哮喘指南解读.docx VIP
- 实验探究题(二)(含答案析)(浙江中考科学复习题型专练).docx
- JTGT 3650-2020 公路桥涵施工技术规范.pdf
文档评论(0)