标题:如何解决通讯中产生的无效进程
只看楼主
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
结帖率:79.17%
 问题点数:0 回复次数:7 
如何解决通讯中产生的无效进程
使用附件中的一对程序,实现基于TCP/IP的CS模式通讯
不知道为什么启动服务后
每次运行一次客户的理解,服务器端就多出来一个无效的进程(可以在linux redhat 9的system monitor中查看或者使用ps 查看)

cs.rar (1.69 KB)
搜索更多相关主题的帖子: 无效进程 通讯 CS模式 
2008-11-15 12:21
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:0 
个人看法:
大概是因为你的客户程序read结束以后输出信息,然后就exit了,没有执行到close

于是server端单方面close,这个是需要时间的,于是进程就在那里等着了

我想如果两头都执行了close了,那就很快真的close了,接下来server端的子进程没事了就可以真的exit了。

瞎想的,欢迎拍砖。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2008-11-16 11:36
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
得分:0 
回复 2# 的帖子
恩 ,你是说服务器要接收到信号,确定了此次通讯连接已经结束 他才会关闭??

~~~~~~~~~~~~~~~好好学习~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2008-11-16 19:34
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:0 
一般是这样,否则就会发呆一段时间,然后才真的关闭

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2008-11-16 20:57
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
得分:0 
回复 第4楼 forever74 的帖子
发呆一段时间,这段时间要多久呢 ?
为什么我一直不见得他自己关闭呢 ?

~~~~~~~~~~~~~~~好好学习~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2008-11-23 11:03
zhddragon
Rank: 5Rank: 5
等 级:职业侠客
帖 子:208
专家分:346
注 册:2009-5-14
得分:0 
回复 楼主 vfdff
没看源代码,不过估计应该是每一次连接server端都fork了一个子进程,在通讯结束后,父进程没有调用wait系列的函数接收子进程的退出信息导致产生僵死的进程。

身体是玩命的本钱
2009-09-15 20:33
tb861008
该用户已被删除
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-04 17:59
xiaowenhuman
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:101
专家分:104
注 册:2009-5-10
得分:0 
kill掉
2010-06-29 23:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-244365-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.266502 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved