免费注册 查看新帖 |

Chinaunix

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

为什么我在调用 system 的时候会返回-1 errno 中的值是10 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-12-04 17:59 |只看该作者 |倒序浏览
我发现我在 Linux redhat 5.0 的环境下面,只要打开了 oracle 数据库,如果调用 system 返回  -1 (WEXITSTATUS 的值是 255)
这个时候如果我查看 errno 发现的结果是 10 No child processes 请教一下高手这是错误吗? 应该如何屏蔽该错误,

我的环境是 Linux redhat 5.0 oracle 11g r2

论坛徽章:
0
2 [报告]
发表于 2010-12-06 09:21 |只看该作者
请问有高手知道这个问题的解决办法吗? 我听说可能跟中断有关系,能解决它吗? 谢谢!

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
3 [报告]
发表于 2010-12-06 09:43 |只看该作者
system没有对于error值的解释,也就是这里的error值对你没有任何价值

论坛徽章:
0
4 [报告]
发表于 2010-12-06 13:17 |只看该作者
那怎么解释,我在 system 调用之前 errno 是0 调用完 system 之后,就出现是 10 根据 errno.h 里面定义的 10 的意思是 No child processes  而且我 system 中执行的语句被正常执行了,这又如何解释呢? 谢谢大家!

论坛徽章:
0
5 [报告]
发表于 2010-12-08 17:41 |只看该作者
有高手知道怎么一回事的吗?

论坛徽章:
0
6 [报告]
发表于 2010-12-08 17:56 |只看该作者
看起来像system函数调用waitpid的时候报出的~

论坛徽章:
0
7 [报告]
发表于 2010-12-14 10:05 |只看该作者
还是不明白怎么回事啊? 有高手吗?

论坛徽章:
0
8 [报告]
发表于 2011-03-10 20:06 |只看该作者
ORACLE 11g had a bug in handle signal in linux system, you can add

  signal(SIGCHLD, SIG_DFL);

after connect database
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP