首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >崩溃程序的解绑定端口

崩溃程序的解绑定端口
EN

Unix & Linux用户
提问于 2016-07-08 10:24:13
回答 1查看 3.8K关注 0票数 5

是否有任何方法来解除先前被某个时间崩溃的程序绑定的端口?我不喜欢每小时重新启动开发机器。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2016-07-08 10:54:35

当程序有连接,并且在您终止进程之后,可以定义一个超时,以便端口停留。

要更改超时的相关内核变量是:

来自:Linux调优

/proc/sys/net/ipv4/tcp_tw_reuse --从协议的角度来看,这允许在TIME_WAIT状态下重用新连接的套接字。默认值为0(禁用)。/proc/sys/net/ipv4/tcp_fin_timeout -此设置确定在TCP/IP能够释放关闭的连接并重用其资源之前必须经过的时间。在此TIME_WAIT状态期间,重新打开到客户端的连接比建立新连接的成本低。通过减少此条目的值,TCP/IP可以更快地释放关闭的连接,从而为新连接提供更多的资源。

您可以通过以下方式临时更改它:

代码语言:javascript
复制
sudo sysctl -w sudo sysctl -w net.ipv4.tcp_fin_timeout=30
sudo sysctl -w sudo sysctl -w net.ipv4.tcp_tw_reuse=1

或永久添加配置,编辑/etc/sysctl.conf并添加:

代码语言:javascript
复制
net.ipv4.tcp_fin_timeout=30
net.ipv4.tcp_tw_reuse=1

因此,它也将在启动时应用。

如需进一步指导,请阅读:缩短时间_等待套接字连接

在应用程序级别,您还可以在打开这个帖子时指定SO_REUSEADDR:https://stackoverflow.com/questions/767292/how-do-i-close-a-port-in-a-case-of-program-termination

正如dr01所述,另一种选择是手动执行:

代码语言:javascript
复制
service networking restart
票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/294616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档