Chinaunix

标题: Solaris9上的问题求助! [打印本页]

作者: walkfire    时间: 2004-07-20 09:14
标题: Solaris9上的问题求助!
我在Solaris9上运行了一个程序,占用了1423端口,但是程序运行完之后端口却没有释放。我只好手动释放端口了。问题就是怎么样手动释放对一个端口的占用?
作者: bloomit    时间: 2004-07-20 20:53
这看起来是Solaris的一个BUG,或者是出于安全考虑。。。

当一个端口守候进程非正常退出后,其BIND的端口是不会被马上释放的。

如果这个时候其他进程要BIND这个端口,就会出现bind error的错误。

可以用ndd改进一下,减少等待时间。。。

ndd -set /dev/tcp tcp_time_wait_interval 30000

默认是240000,就是240秒,太长了。

另一个方法是改进程序socket代码,如果可以改的话。问题好像是出在setsockopt函数上,man看看吧,忘了。。。
作者: lightspeed    时间: 2004-07-21 05:58
楼上, 这不是 BUG 而是 TCP 协议的要求。

当然 timeout 的调整就如你所示。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2