📅  最后修改于: 2023-12-03 15:10:40.821000             🧑  作者: Mango
在计算机网络中,每一个网络应用程序都会监听一个端口,用于能够接收和发送数据。有时候我们需要关闭或终止某些应用程序所监听的端口,这时候我们需要使用一些命令或者编写一些程序来实现这个功能。这个过程叫做"杀死端口"。
netstat -ano
命令查看端口号和PID。taskkill /f /pid [PID]
命令杀死进程。举例:
C:\> netstat -ano | findstr "8080"
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 1788
TCP [::]:8080 [::]:0 LISTENING 1788
C:\> taskkill /f /pid 1788
lsof -i :[portNumber]
命令查看显示占用端口号的应用程序。kill -9 [PID]
命令杀死进程。举例:
$ lsof -i :8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 2927 james 68u IPv6 0x2c119d593c2e5a71 0t0 TCP *:http-alt (LISTEN)
$ kill -9 2927
可以使用Python来编写一个简单的脚本来自动杀死一个端口所占用的进程。需要安装psutil
库。
import psutil
for proc in psutil.process_iter():
try:
# 查询进程占用端口号
conn = proc.connections()
for element in conn:
if element.laddr.port == 8080: # 端口号可更改
proc.kill()
except:
pass
返回的代码片段:
```python
import psutil
for proc in psutil.process_iter():
try:
# 查询进程占用端口号
conn = proc.connections()
for element in conn:
if element.laddr.port == 8080: # 端口号可更改
proc.kill()
except:
pass