在MacOSX上,我使用包装器来构建一个流量盒,所以我需要不断地打开和拆卸它。我正在尝试‘漫游’,并收到标准错误,因为端口正在使用中:
Vagrant无法转发此VM上的指定端口,因为它们将与已在这些端口上侦听的其他应用程序发生冲突。转发到8080的端口已在主机上使用。
解决方案看起来很简单:我只需要识别保持端口8080打开的进程并终止该进程,对吗?这不是那么简单。
如果我运行以下命令:
nmap localhost -p 8080
我收到以下输出:
PORT STATE SERVICE
8080/tcp open http-proxy
如果我运行以下命令:
top -o prt
1360中使用的最高端口
如果我运行以下命令:
netstat -tulpn | grep :8080
我收到:
netstat: n: unknown or uninstrumented protocol
如果我运行以下命令:
lsof -i :8080
我没有收到任何输出
如果我重新启动我的计算机,端口现在是可用的,我现在可以‘流浪’了。
我如何杀死任何正在使用端口8080的进程,以便我可以在不重新启动计算机的情况下漫游?
发布于 2014-06-24 21:44:47
这可能会有帮助
lsof -n -i4TCP:8080
PID是输出中的第二个字段。
或者尝试:
lsof -i -P
发布于 2016-04-27 05:51:03
快速解决方案:
lsof -n -i4TCP:8080
PID
是第二个字段。然后,终止该进程:
kill -9 PID
速度较慢但永久的解决方案
/usr/local/bin/
(可以在finder中使用command+shift+g )stop
的文件。将以下代码粘贴到其中:#!/bin/bash
touch temp.text
lsof -n -i4TCP:$1 | awk '{print $2}' > temp.text
pidToStop=`(sed '2q;d' temp.text)`
> temp.text
if [[ -n $pidToStop ]]
then
kill -9 $pidToStop
echo "Congrates!! $1 is stopped."
else
echo "Sorry nothing running on above port"
fi
rm temp.text
stop 8888
(或任何端口)发布于 2018-03-01 08:36:00
如果上面接受的答案不起作用,请尝试下面的解决方案。您可以将其用于端口8080或任何其他端口。
sudo lsof -i tcp:3000
将3000替换为所需的任意端口。运行下面的命令来终止该进程。
sudo kill -9 PID
PID是您要终止的进程ID。
下面的是mac终端上命令的输出。
https://stackoverflow.com/questions/24387451
复制相似问题