免费注册 查看新帖 |

Chinaunix

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

程序退出后,打开的端口仍在listen,怎么办。 [复制链接]

论坛徽章:
0
41 [报告]
发表于 2007-04-24 12:23 |只看该作者
LZ马甲挺多的阿。
反正我认为listen的那个进程绝对没有结束。
LZ可以写一个简化程序重现该问题。

论坛徽章:
0
42 [报告]
发表于 2007-04-24 12:35 |只看该作者
netstat -an | grep 8080

输出是什么?

论坛徽章:
0
43 [报告]
发表于 2007-04-24 12:44 |只看该作者
楼主的问题,从没碰到过,但近段时正在学SOCKET,看到这个问题相当有意思,希望他不要下沉,也希望楼主能给个简短的源码,贴出来,不要把时间浪费在无意义的争吵上面.期待...

论坛徽章:
0
44 [报告]
发表于 2007-04-24 12:49 |只看该作者
今天我才知道要用收藏找自己回复的帖子,以前只要关掉窗口就找不到了。

论坛徽章:
0
45 [报告]
发表于 2007-04-25 10:19 |只看该作者
感谢大家的帮助。针对大家的疑问,我再说明如下:
1. 错误是可以复现的:但是由于整个程序比较复杂,可能简化后就不会再出现了(但是没有做这个工作)。
首先介绍一下异常操作:通过ftp工具给ftp配置文件到程序相应的目录下,同时给程序发送消息,让程序读取配置文件(此时ftp可能没有完成传输工作)。这一个过程我称为异常操作,但是经过此操作后,程序已经正常,没有core,也没有退出。此时需要kill -9 pid杀死程序,然后就会发现8080端口仍在监听。

2. 操作系统是soliars 9,运行sun自己的440服务器。

3. nestat -an| grep "8080" 的结果是:
zxme@zxmexxx1 $ netstat -an | grep "8080"
192.200.51.199.8080        *.*                0      0 49152      0 LISTEN

论坛徽章:
0
46 [报告]
发表于 2007-04-25 10:21 |只看该作者
原帖由 jist12321 于 2007-4-24 12:44 发表
楼主的问题,从没碰到过,但近段时正在学SOCKET,看到这个问题相当有意思,希望他不要下沉,也希望楼主能给个简短的源码,贴出来,不要把时间浪费在无意义的争吵上面.期待...

贴源码不现实,请各位谅解。按照大家的疑问,我尽可能准确的描述。我不是新手,请大家相信我还是有一定的水平的,基本不会用现象来误导大家。

最后感谢大家的帮助和支持。

论坛徽章:
0
47 [报告]
发表于 2007-04-25 10:25 |只看该作者
会不会是fork()了多个进程,你只kill了子进程?

楼主的问题实在离奇。

论坛徽章:
0
48 [报告]
发表于 2007-04-25 10:25 |只看该作者
原帖由 svenwang 于 2007-4-24 12:23 发表
LZ马甲挺多的阿。
反正我认为listen的那个进程绝对没有结束。
LZ可以写一个简化程序重现该问题。


可以肯定进程已经不存在了。 ps此进程号,已经没有输出了。
为了防止其他可能的进程开启了8080端口,我进行了如下操作:
ps -ef | awk '{print $2}' | xargs pfiles > a.txt
这样所有进程打开的描述符信息都将记录于a.txt文件中,但是并没有发现8080端口的信息。

此命令在我的程序正常启动,打开8080端口后可以可以看到输出的。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
49 [报告]
发表于 2007-04-25 10:28 |只看该作者
问题恶化了,现在的问题可以归结为一句话:
系统中出现一个由不知名程序打开的端口(8080),处于 listen 状态,可以正常接受连接请求。

论坛徽章:
0
50 [报告]
发表于 2007-04-25 10:29 |只看该作者
原帖由 assiss 于 2007-4-25 10:25 发表
会不会是fork()了多个进程,你只kill了子进程?

楼主的问题实在离奇。


程序是在启动的时候fork了一次,但是目的是为了让程序进入后台,fork后,父进程立即退出的。所以不存在kill一个子进程的情况。而且在没有进行上文所说的异常操作时,kill后是不会出现这样的怪现象的。


其实不管我的程序进行了什么异常操作,有没有关闭套接口,只要我的程序退出了,操作系统都应该做收尾工作的。我也觉得很离奇,实在没有能力解决问题,所有拿出来让大家共同讨论。

谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP