📅  最后修改于: 2023-12-03 15:40:20.288000             🧑  作者: Mango
在编写网络应用程序时,需要绑定端口来监听来自客户端的请求。但是在某些情况下,需要释放和关闭该端口,以确保不再接受连接请求。在Shell-Bash中,有几种方法可以实现这一点。
可以使用kill命令杀死端口。这需要使用lsof命令查找端口的PID,然后使用kill命令强制终止该PID。
# 查找占用端口号为80的进程
sudo lsof -i :80
# 输出结果类似于:
# COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
# nginx 1234 root 6u IPv4 12345 0t0 TCP *:80 (LISTEN)
# nginx 5678 www-data 6u IPv4 12345 0t0 TCP *:80 (LISTEN)
# 使用kill命令结束进程
sudo kill -9 1234
sudo kill -9 5678
fuser是另一种查找端口PID和杀死进程的命令。
# 查找占用端口号为80的进程
sudo fuser -k 80/tcp
pkill命令可以根据进程名或PID杀死进程。
# 使用进程名杀死进程
sudo pkill nginx
# 使用PID杀死进程
sudo pkill -9 1234
以上三种方法可以有效地杀死端口的进程,以确保端口不再接受连接请求。在使用这些命令时,请确保选择正确的PID或进程名,否则可能会影响您正在运行的其他应用程序。