计算机端口状态说明和解决占用的方法

TCP状态转移要点

   TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不会被释放。网络服务器程序要同时管理大量连接,所以很有必要保证无用连接完全断开,否则大量僵死的连接会浪费许多服务器资源。在众多TCP状态中,最值得注意的状态有两个:CLOSE_WAIT和TIME_WAIT。 

 

1、LISTENING状态

  FTP服务启动后首先处于侦听(LISTENING)状态。

2、ESTABLISHED状态

  ESTABLISHED的意思是建立连接。表示两台机器正在通信。

 3、CLOSE_WAIT

对方主动关闭连接或者网络异常导致连接中断,这时我方的状态会变成CLOSE_WAIT 此时我方要调用close()来使得连接正确关闭

 4、TIME_WAIT

我方主动调用close()断开连接,收到对方确认后状态变为TIME_WAIT。TCP协议规定TIME_WAIT状态会一直持续2MSL(即两倍的分段最大生存期),以此来确保旧的连接状态不会对新连接产生影响。处于TIME_WAIT状态的连接占用的资源不会被内核释放,所以作为服务器,在可能的情况下,尽量不要主动断开连接,以减少TIME_WAIT状态造成的资源浪费。

 

目前有一种避免TIME_WAIT资源浪费的方法,就是关闭socket的LINGER选项。但这种做法是TCP协议不推荐使用的,在某些情况下这个操作可能会带来错误。


5、在windows下如何查看80端口占用情况?是被哪个进程占用?如何终止等.

       这里主要是用到windows下的DOS工具,点击"开始"--"运行",输入"cmd"后点击确定按钮,进入DOS窗口,接下来分别运行以下命令:

       >netstat -aon | findstr "80"

                Proto  Local Address          Foreign Address        State            PID

                ====  ============      ==============  ========== ======

                TCP    0.0.0.0:80                    0.0.0.0:0                LISTENING      1688

可以看出80端口被进程号为1688的程序占用.

       >tasklist | findstr "1688"

图像名                                               PID            会话名                    会话#       内存使用

               ========================= ====================== ======== ============

               inetinfo.exe                                       1688           Console                      0              2,800 K

很明显,是inetinfo占用了80端口;inetinfo.exe主要用于支持微软Windows IIS网络服务的除错,这个程序对你系统的正常运行是非常重要的.

       当然,并不是只有inetinfo.exe进程会占用80端口,这只是我机器上的情况.如果你并不了解此进程是干什么用的,千万不要盲目地将其kill掉,最好先百度或Google搜索一下;当然如果你很了解它,并确定可以终止,那么继续下面的命令.

       >taskkill /pid 1688 /F

成功: 已终止 PID 为 1688 的进程。

如果你很熟悉此进程,并确定可以终止,那么就直接使用上面的命令把PID为1688的进程终止.(这一步同样可以在任务管理器中执行,inetinfo.exe就是任务管理器中的映像名称,选中它,点击"结束进程"即可)

       >tasklist | findstr "1688"

再次确认是否成功终止,如果成功终止此次执行命令后应返回空.

6、linux下如何查看80端口占用情况?是被哪个进程占用?如何终止等

查询端口是否被占用,被哪个进程占用有两种方式:1、netstat -anl | grep "80" ;2、lsof -i:80

终止进程的方式:kill pid


以上分别摘自:http://www.cppblog.com/prayer/archive/2009/04/01/78592.html

                            http://www.cnblogs.com/xyzdw/articles/2108149.html



原文地址:https://www.cnblogs.com/joma/p/2380119.html