查看进程中的socket状态和数量

程序运行时查看,结果是这样子的

C:UsersAdministrator>netstat -ano|findstr 8855
TCP 192.168.9.195:3496 192.168.9.230:8855 TIME_WAIT 0
TCP 192.168.9.195:3499 192.168.9.230:8855 TIME_WAIT 0
TCP 192.168.9.195:3501 192.168.9.230:8855 TIME_WAIT 0
TCP 192.168.9.195:3502 192.168.9.230:8855 TIME_WAIT 0
TCP 192.168.9.195:3505 192.168.9.230:8855 TIME_WAIT 0
TCP 192.168.9.195:3506 192.168.9.230:8855 ESTABLISHED 992

最后一列是PID,俺们的程序是使用的8855断开。倒数第二列是socket状态。

PID是正确,则为正在使用的socket,上面列表中这个socket已经建立连接。
PID为0,表示这个socket已经在程序中关闭了,其实可以理解为部分用过的socket,但是系统还没有把资源收回。等到程序退出以后,这些socket会被回收。
貌似已经连接的socket如果程序退出时没关闭,则会在超时以后被系统回收(不确定)。

在Linux中也可以这么看,但Linux有更好的办法。

原创文章,转载请注明来源。

原文地址:https://www.cnblogs.com/zhaojk2010/p/4515267.html