Linux下TCP连接断开后不释放的解决办法
问题:在开发测试时发现断开与服务器端口后再次连接时拒绝连接。
分析:服务器上查看端口占用情况,假设端口为8888。
netstat -anp |grep 8888
发现端口8888端口显示被占用(ip为本机ip确定是上次连接)且状态为ESTABLISHED,然而实际上连接已经断开,但是服务端没有断开连接,查看TCP的keepalive配置。
sysctl -a |grep keepalive
发现为默认的配置
- net.ipv4.tcp_keepalive_time = 7200
- net.ipv4.tcp_keepalive_probes = 9
- net.ipv4.tcp_keepalive_intvl = 75
默认情况下在连接空闲7200秒即2个小时后才会发送keepalive探测包来确认连接情况。
解决:通过修改keepalive配置为合适的值(如改为200秒)可以快速释放端口连接。
临时修改,通过echo设置tcp_keepalive_time。
echo "200" > /proc/sys/net/ipv4/tcp_keepalive_time
永久生效,编辑/etc/sysctl.conf,新增或修改为
net.ipv4.tcp_keepalive_time = 200
然后执行命令使修改后的配置生效
sysctl -p
Linux下TCP连接断开后不释放的解决办法的更多相关文章
- 【转】Linux下tcp连接断开后不释放的解决办法
问题:在开发测试时发现断开与服务器端口后再次连接时拒绝连接. 分析:服务器上查看端口占用情况,假设端口为8888. netstat -anp |grep 8888 发现端口8888端口显示被占用(ip ...
- linux下删除大量文件提示参数过长解决办法
linux下删除大量文件提示参数过长解决办法:在当前目录下rm -rf * 在linux中删除大量文件时,直接用rm会出现:-bash: /bin/rm: 参数列表过长的错误. 这时可以用find命令 ...
- Linux下因为系统编码问题造成乱码的解决办法
2016年12月13日18:34:32 -------------------------------- 最近一段时间遇到一些润乾报表的应用在linux系统下面乱码的问题,最后检查后都发现是客户的li ...
- linux 下idea 启动tomcat报JMX 1099错误解决办法
开始使用linux开发环境,在配置idea 下tomcat 启动时报错,提示错误为unable to ping server at localhost:1099. 解决办法: 修改/etc/hosts ...
- Linux下BMP文件不能正常读取问题的解决办法
今天将之前在win下编好的读取BMP图像功能移植到UNIX下. 碰到的第一个问题是,Linux下的BMP文件头的结构体需要自己重新定义一遍. 第二个问题是,需要搞清楚Linux是32位的还是64位的. ...
- kali linux下不能以root权限运行vlc的解决办法
习惯了在Linux下面使用VLC播放视频和音乐, 但是 VLC 的 linux 版本并不支持在root下面运行. 终端运行vlc命令报错,错误信息如下 root@kbdancer:~# vlc VLC ...
- Linux下utf-8 BOM 的检查和删除 (65279错误解决办法)
Java代码在转换为UTF-8编码后,Eclipse编译运行没有问题,但是用Maven编译时,抛出非法字符65278错误. 原因在于,转换后文件头部带有BOM信息,而Maven不支持,删掉文件头的BO ...
- Linux下重启就需要重新激活eth0的解决办法(ifup eth0)
新安装linux系统,网卡不能自动激活去获取ip,每次都需要手工执行以下命令 ifup eth0 后续通过将ONBOOT=yes这句就能开机启动自动激活,就可以解决问题 vim /etc/syscon ...
- linux下运行telnet命令出现command not find解决办法
原因是没有安装telnet客户端和服务(缺一不可) yum list telnet* 查看telnet相关的安装包yum install telnet-server 安装telnet服务yum i ...
随机推荐
- 通过TopShelf简单创建windows service
目前很多项目都是B/S架构的,我们经常会用到webapi.MVC等框架,实际项目中可能不仅仅是一些数据的增删改查,需要对数据进行计算,但是将计算逻辑放到api层又会拖累整个项目的运行速度,从而会写一些 ...
- C# FluentFTP类上传下载文件
前言:最近要实现从FTP服务器下载和上传文件,在网上搜了一下据说 FluentFTP 是个客户端FTP功能的实现,使用还比较顺畅,所以对此展开研究,无奈网上给出的案例并没有想象中的那么简洁,所以想着自 ...
- .NET Core 之 Nancy 基本使用
Nancy简介 Nancy是一个轻量级的独立的框架,下面是官网的一些介绍: Nancy 是一个轻量级用于构建基于 HTTP 的 Web 服务,基于 .NET 和 Mono 平台,框架的目标是保持尽可能 ...
- sizeof(类名字)
析构函数,跟构造函数这些成员函数,是跟sizeof无关的,因为我们的sizeof是针对实例,而普通成员函数,是针对类体的,一个类的成员函数,多个实例也共用相同的函数指针,所以自然不能归为实例的大小. ...
- git删除本地分支,远端分支
br为远端分支名字. 删除local分支 git branch -d 分支名
- Unable to resolve service for type 'Microsoft.Extensions.Logging.ILogger' while attempting to activate 'xxxxx.Controllers.xxxxController'.
Unable to resolve service for type 'Microsoft.Extensions.Logging.ILogger' while attempting to activa ...
- C++ 工程师养成 每日一题third (子数列排序)
题目: 定义排序子序列为一个数组中一段连续的子序列,并且这段子序列是非递增或者非递减排序的.牛牛有一个长度为n的整数数组A,他现在有一个任务是把数组A分为若干段排序子序列,牛牛想知道他最少可以把这个数 ...
- HLP帮助文件源文件RTF文件的编写
https://www.cnblogs.com/gaodu2003/archive/2008/12/17/1356861.html 举例说明如下: 每一节的标题在RTF文件中一般以特有的脚注($)指定 ...
- VB.NET 读写XML
Public Class CSysXML Dim mXmlDoc As New System.Xml.XmlDocument Public XmlFile As String Public Sub N ...
- Array : 数组的常用方法
数组常用方法 对象通用方法 1.toLocalString() 数组中的每个元素都会调用toLocalString(),然后以逗号隔开, 拼接为字符串: 2.toString() 数组中的每个元素都 ...