免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: swordmens
打印 上一主题 下一主题

嵌入式 LINUX 中 system() 函数 阻塞的问题。 [复制链接]

论坛徽章:
84
每日论坛发贴之星
日期:2015-12-29 06:20:00每日论坛发贴之星
日期:2016-01-16 06:20:00每周论坛发贴之星
日期:2016-01-17 22:22:00程序设计版块每日发帖之星
日期:2016-01-20 06:20:00每日论坛发贴之星
日期:2016-01-20 06:20:00程序设计版块每日发帖之星
日期:2016-01-21 06:20:00每日论坛发贴之星
日期:2016-01-21 06:20:00程序设计版块每日发帖之星
日期:2016-01-23 06:20:00程序设计版块每日发帖之星
日期:2016-01-31 06:20:00数据库技术版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-16 06:20:00程序设计版块每日发帖之星
日期:2016-01-14 06:20:00
11 [报告]
发表于 2010-07-24 11:44 |只看该作者
如果子进程返回一个大于0的值,你觉得正确么
0vk0 发表于 2010-07-24 11:26


你把前提搞反了,是从返回只判断是否子进程的;
好好看看man手册,好好看看APUE吧。

论坛徽章:
0
12 [报告]
发表于 2010-07-26 10:18 |只看该作者
如果子进程返回一个大于0的值,你觉得正确么
0vk0 发表于 2010-07-24 11:26



这位仁兄每次说话只说一半,如果要说子进程,那么为什么不在8楼就说明,非要等别人把不严谨的地方提出来再说呢。
这样很容易误导我这种新手的,在C/C++版块我就差点以为自己弄错了。

论坛徽章:
0
13 [报告]
发表于 2010-07-26 15:10 |只看该作者
system() 函数中的 fork 已经返回。 但是只是  fork()>0 , 子进程中 没有得到 fork =0 , 导致

fork() ==0  条件下的代码根本不运行。  然后我查看了系统的进程,  确实发现多出了一个新的 进程。

然后 如果我 kill  刚刚 fork ()  出来的 pid , 发现  fork() ==0  条件下的代码开始运行了。

system() 函数没有继续阻塞,  能退出来了。

论坛徽章:
0
14 [报告]
发表于 2010-07-26 15:20 |只看该作者
真的很不解, 明明 fork >0  了, 证明已经 fork 成功了。  但是 就是 没有返回 0  给 子进程运行。

导致 父进程 又需要等子进程退出。  造成  结果就是 system() 函数 阻塞, 一直不返回。

论坛徽章:
0
15 [报告]
发表于 2010-07-26 20:28 |只看该作者
这位仁兄每次说话只说一半,如果要说子进程,那么为什么不在8楼就说明,非要等别人把不严谨的地方提出 ...
davelv 发表于 2010-07-26 10:18



    我是看到你这里说

这里我有个很大的疑问,  为什么 fork() 不返回 0 , 子进程一直得不到调度吗???????

百思不得其解,  恳求 各位大侠有遇到这样问题的吗?  请指点下。  谢谢!

论坛徽章:
0
16 [报告]
发表于 2010-07-27 16:57 |只看该作者
我是看到你这里说
0vk0 发表于 2010-07-26 20:28


那是楼主说的,不是我说的。

论坛徽章:
0
17 [报告]
发表于 2010-07-28 00:33 |只看该作者
那是楼主说的,不是我说的。
davelv 发表于 2010-07-27 16:57



    哦,我也是回复LZ

论坛徽章:
0
18 [报告]
发表于 2012-04-22 10:43 |只看该作者
我也遇到了类似的问题,调用system()函数,一直停在waitpid()处(即一直在等待子进程结束),于是就在waitpid()前面加了打印子进程pid的打印,打印出pid值,于是ctr+z,使用ps命令查看进程,发现此pid值的进程状态是T,不知是因为执行ps命令后使其状态变为T,还是之前状态就变为T了?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP