免费注册 查看新帖 |

Chinaunix

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

怎样把stderr在内容里处理 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-10-30 09:26 |只看该作者 |倒序浏览
我的代码里调用了一个外部的程序,那个程序最后会冒出一个stderr的消息,我要读到内存里检查是什么,我用pipe只知道处理stdin,stdout,不知道怎么处理stderr,怎么办,急啊!

论坛徽章:
0
2 [报告]
发表于 2003-10-30 10:05 |只看该作者

怎样把stderr在内容里处理

大哥大姐们,怎样把stderr重定向啊

论坛徽章:
0
3 [报告]
发表于 2003-10-30 10:16 |只看该作者

怎样把stderr在内容里处理

command 2>;&1就行了,不过这样和stdout混在一起了,自己搞定,^_^

论坛徽章:
0
4 [报告]
发表于 2003-10-30 10:23 |只看该作者

怎样把stderr在内容里处理

程序上来就关掉stderr

论坛徽章:
0
5 [报告]
发表于 2003-10-30 11:47 |只看该作者

怎样把stderr在内容里处理

你用pipe既然能处理stdout就能处理stderr拉,把1,2都定位到你的pipe读端。至于怎么做,dup2搞定,自己看看研究吧。

论坛徽章:
0
6 [报告]
发表于 2003-10-30 12:48 |只看该作者

怎样把stderr在内容里处理

我在上面说了,用那个 command 2>;&1不就是把stdout,stderr都流向stdout了吗,在pipe里也就是直接读就行了,不过你的方法还是比这样丑陋的表达式好,逻辑上也清晰了很多,我先关掉了stderr,然后dup到pipe里,就可以了,不过我原来用的是popen,看来要改比较多的东西了。unixIO的底层机制,看来需要好好研究一下才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP