【发布时间】:2010-10-19 12:48:08
【问题描述】:
netstat -tulnap
显示正在使用的端口。如何在 Linux 中释放一个端口?
【问题讨论】:
标签: linux networking tcp port
netstat -tulnap
显示正在使用的端口。如何在 Linux 中释放一个端口?
【问题讨论】:
标签: linux networking tcp port
正如其他人所说,您必须终止正在侦听该端口的所有进程。最简单的方法是使用fuser(1) 命令。例如,要查看在端口 80 上侦听 HTTP 请求的所有进程(以 root 身份运行或使用 sudo):
# fuser 80/tcp
如果您想杀死它们,只需添加-k 选项即可。
【讨论】:
sudo yum install psmisc)
kill -9 $(fuser 80/tcp 2>/dev/null)
要在 Linux 中终止特定端口,请使用以下命令
sudo fuser -k Port_Number/tcp
用你占用的端口替换Port_Number。
【讨论】:
假设您是root 用户,"netstat --programs" 命令将为您提供进程信息。然后你将不得不杀死“冒犯”的进程,它很可能会再次启动只是为了惹恼你。
根据您实际尝试实现的目标, 该问题的解决方案将根据持有这些端口的进程而有所不同。例如,您可能需要禁用服务(假设它们不需要)或将它们配置为使用不同的端口(如果您确实需要它们但您需要更多的端口)。
【讨论】:
检查所有端口:
netstat -lnp
关闭一个打开的端口:
fuser -k port_no/tcp
例子:
fuser -k 8080/tcp
在这两种情况下,如果需要,您都可以使用sudo 命令。
【讨论】:
在终端类型中:
netstat -anp|grep "port_number"
它将显示端口详细信息。转到最后一列。 它将采用这种格式。例如:- PID/java
然后执行:
kill -9 PID. Worked on Centos5
对于 MAC:
lsof -n -i :'port-number' | grep LISTEN
示例响应:
java 4744 (PID) test 364u IP0 asdasdasda 0t0 TCP *:port-number (LISTEN)
然后执行:
kill -9 PID
在 Macbook 上工作
【讨论】:
sudo netstat 实际查看 PID :)
您可以使用tcpkill(dsniff 包的一部分)来终止您需要的端口上的连接:
sudo tcpkill -9 port PORT_NUMBER
【讨论】:
$ sudo tcpkill -9 port 5432 tcpkill: listening on lxcbr0 [port 5432]
sudo killall -9 "进程名"
【讨论】:
关闭计算机总是会杀死我的进程。
【讨论】:
如果你真的想立即终止一个进程,你可以发送一个 KILL 信号而不是一个 TERM 信号(后者是一个停止请求,第一个将立即生效,无需任何清理)。很容易做到:
kill -KILL <pid>
但请注意,根据您要停止的程序,其状态可能会在停止时严重损坏。您通常只想在正常终止不起作用时发送 KILL 信号。我想知道你试图解决的根本问题是什么,以及杀戮是否是正确的解决方案。
【讨论】:
sudo fuser -k Port_Number/tcp 做到了。
我认为唯一的方法是停止打开端口的进程。
【讨论】:
杀死正在监听相关端口的进程。我相信 netstat 会向您显示进程 ID。
【讨论】: