解决端⼝冲突问题(查询端⼝占⽤进程并kill)1. 查看端⼝占⽤
notepad++在windows命令⾏窗⼝下执⾏:
netstat -aon|findstr "8080"
TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448
端⼝“8080”被PID(进程号)为2448的进程占⽤。
查看端⼝“8080”被哪个应⽤占⽤,,继续执⾏下⾯命令:
tasklist|findstr "2448"
< 2016 Console 0 16,064 K
2. 关闭进程
2.1 按进程号关闭进程
taskkill /pid 2152
如需强制关闭加: -f
多个时格式为:
taskkill /pid 2152 /pid 1284
2.2 按进程名关闭进程
如要关闭,格式为:
taskkill /
指定多个时格式为:
taskkill / /
如果是要关闭所有的,则使⽤通配符*,即:
taskkill /im *.exe
2.3 有提⽰的关闭进程
taskkill /t /
taskkill /t /pid 2152
这个效果是提⽰后在使⽤者确定后关闭,有提⽰框。
2.4 强⾏终⽌进程
taskkill /f /
taskkill /f /pid 2152
3. 端⼝状态
3.1 LISTENING状态
FTP服务启动后⾸先处于侦听(LISTENING)状态。
3.2 ESTABLISHED状态
ESTABLISHED的意思是建⽴连接。表⽰两台机器正在通信。
3.3 CLOSE_WAIT
对⽅主动关闭连接或者⽹络异常导致连接中断,这时我⽅的状态会变成CLOSE_WAIT 此时我⽅要调⽤close()来使得连接正确关闭
3.4 TIME_WAIT
我⽅主动调⽤close()断开连接,收到对⽅确认后状态变为TIME_WAIT。TCP协议规定TIME_WAIT状态会⼀直持续2MSL(即两倍的分段最⼤⽣存期),以此来确保旧的连接状态不会对新连接产⽣影响。处于TIME_WAIT状态的连接占⽤的资源不会被内核释放,所以作为服务器,在可能的情况下,尽量不要主动断开连接,以减少TIME_WAIT状态造成的资源浪费。
⽬前有⼀种避免TIME_WAIT资源浪费的⽅法,就是关闭socket的LINGER选项。但这种做法是TCP协议不推荐使⽤的,在某些情况下这个操作可能会带来错误。
3.5 SYN_SENT状态
SYN_SENT状态表⽰请求连接,当你要访问其它的计算机的服务时⾸先要发个同步信号给该端⼝,此时状态为SYN_SENT,如果连接成功了就变为ESTABLISHED,此时SYN_SENT状态⾮常短暂。但如果发现SYN_SENT⾮常多且在向不同的机器发出,那你的机器可能中了冲击波或震荡波之类的病毒了。
这类病毒为了感染别的计算机,它就要扫描别的计算机,在扫描的过程中对每个要扫描的计算机都要发出了同步请求,这也是出现许多SYN_SENT的原因。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论