免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2360 | 回复: 4
打印 上一主题 下一主题

管道(popen) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-04-17 13:13 |只看该作者 |倒序浏览
解决了一个以前没有解决的问题

我原来在这里问过一个问题,调用SHELL的时候,如何获得SHELL的返回值

上次没有人回答,现在我自己解决了。估计有好多人想知道答案,所以在这里公布一下


方法就是
FILE *  popen( const char*, const char* )函数

管道函数
两个参数,第一个是要执行的SHELL,第二个是文件打开属性,一般用   " r "         就足够了


函数返回一个FILE 指针。然后可以用读取文件的方法读取返回值!!!


欲知详情如何,   man



[ 本帖最后由 net_robber 于 2006-4-17 13:29 编辑 ]

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2006-04-17 13:35 |只看该作者
拜托,说话专业点,用词准确点。
这个不叫“返回值”,
返回值应该用 wait/waitpid + WEXITSTATUS 宏来取。

这个只能叫“如何捕获外部命令的输出信息”

论坛徽章:
0
3 [报告]
发表于 2006-04-17 16:24 |只看该作者
!!!!!!!!!!!!!!!

我没有搞明白啊,不是我不想说清楚,不专业么,嘿嘿,以后努力了

另外你说的那个宏是怎么回事啊,能讲一下么????

论坛徽章:
0
4 [报告]
发表于 2006-04-17 22:52 |只看该作者
就是你先fork一个子进程,exec去执行你的SHELL进行,在子进程退出后,父进程通过wait来获取返回信息,通过宏定义可知道子进程是什么具体原因退出的。

论坛徽章:
0
5 [报告]
发表于 2006-04-18 08:48 |只看该作者
正在研究相关的东西。呵呵。学习是一辈子的事,从小老爸老妈就这么教我

努力ing.........
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP