Grails:解析;端口8080的服务器启动失败:地址已在使用中;
我在尝试解决“Grails:解析;端口8080的服务器启动失败:地址已在使用中;,grails,Grails,我在尝试解决“服务器无法启动端口8080:地址已在使用中”时遇到此错误 有人能帮忙吗?不知道怎么了。谢谢。留言 端口8080的服务器启动失败:地址已在使用中 指示计算机上的其他进程已将自身绑定到端口8080。我猜这是Tomcat运行的一个实例,要么是因为您启动了它,要么是因为您使用的IDE没有正确关闭它 在任何情况下,都应该帮助您结束使用该端口的进程 至于脚本8888的第二个错误,我不知道。Grails不会尝试在我的环境中启动此脚本,因此我认为它与您安装的插件有关。问题是端口号8080已经被使用
服务器无法启动端口8080:地址已在使用中”时遇到此错误
有人能帮忙吗?不知道怎么了。谢谢。留言
端口8080的服务器启动失败:地址已在使用中
指示计算机上的其他进程已将自身绑定到端口8080。我猜这是Tomcat运行的一个实例,要么是因为您启动了它,要么是因为您使用的IDE没有正确关闭它
在任何情况下,都应该帮助您结束使用该端口的进程
至于脚本8888的第二个错误,我不知道。Grails不会尝试在我的环境中启动此脚本,因此我认为它与您安装的插件有关。问题是端口号8080已经被使用。因此,您要么必须停止该进程以为新进程让路,要么可以在运行应用程序时指定grails-Dserver.port=8090 run app
但是,由于出现脚本错误,可能是您没有在BuildConfig.groovy中指定端口
以下是解决方案:
在BuildConfig.groovy
请参阅此处的评论:
当端口号8080已经被使用,并且您想要重用同一端口时,您应该终止其进程:
首先,检查使用端口8080的进程的pid。要执行此操作,请执行以下操作:
lsof -w -n -i tcp:8080
在上面的示例中,使用端口9090的进程的pid为3812
注意PID。PID在您的机器上可能不同。在执行下一个命令时,我们需要:
因此,您必须通过run app进行测试:
grails run-app
更新:
由于lsof-w-n-i tcp:8080 | awk'{print$2}'| awk'END{print}'
的输出是PID
,您可以通过PID自动终止端口进程:
kill -9 `lsof -w -n -i tcp:8080| awk '{print $2}'|awk 'END{print}'`
如果您使用的是STS或Eclipse(或者任何基于Eclipse构建的环境),一个选项是转到调试透视图(窗口->打开透视图->调试)。从那里,您可以右键单击正在运行的服务器,然后单击终止并重新启动。这将终止当前服务器并在同一端口上重新启动,这样您就不会收到端口8080:地址已在使用中的服务器启动失败消息
至于执行脚本8888时出错:对于输入字符串:“
我以前没有见过它,但@ShootingStar似乎有答案。当端口号8080已经被使用,并且您想要重用同一端口时,您应该终止其进程:
使用fuser 8080/tcp
将打印该端口上绑定的进程的PID
这个fuser-k8080/tcp
将终止该进程
只在Linux上工作。更普遍的是使用lsof-i4(或IPv6的6)
示例:如果端口为8080,则在终端上运行:
fuser -k -n tcp 8080
就是这样 如果您使用的是Grails/Groovy工具套件(基于Eclipse的IDE),请选择运行方式>运行配置….
然后,在Grails选项卡中,输入如下内容:
-Dserver.port=8050 run-app
因此,Grails将在端口8050上运行,而不是在默认端口(8080)上运行。比其他发布的答案更简单
在控制台窗口中有一个X和XX图标。当您将光标悬停在其上时。您将看到引出序号显示“删除启动”和“删除所有终止的启动”
两个都单击。Eclipse将清除所有现有服务器,以便您可以在默认端口上重新启动服务器。您需要终止在端口8080上运行的进程;
因此,请使用以下命令:
netstat -plten |grep java
使用grepjava作为tomcat使用java作为其进程
它将显示带有端口号和进程id的进程列表
tcp6 0 0 :::8080 :::* LISTEN
1000 30070621 16085/java
/java之前的数字是进程id。现在使用kill命令终止进程
kill -9 16085
-9表示进程将被强制终止。如何终止繁忙端口
打开命令提示符并键入C:>netstat-a-n-o | find“8080”
查找端口示例的PID
TCP 0.0.0.0:8888 0.0.0.0:0侦听9068
下一个
C:>taskkill/PID 9068/F
成功:PID 9068的进程已终止。这意味着有一个使用端口8080的服务。
您可以在终端上键入命令“netstat”进行验证
如何停止使用此端口的服务?
在windows上,您可以通过以下步骤停止此类服务:
以管理员身份登录系统
从开始菜单中,选择控制面板,然后选择管理工具,然后选择服务
从列表中,找到名称以:Web Server结尾的服务并停止它
如果它不是作为服务运行,您可能需要使用任务管理器强制它停止。您可以检查8080端口当前是否正在使用
sudo lsof -i :8080
然后您可以看到端口状态,包括命令
,PID
,用户
等等
然后,您可以使用PID
终止它
kill -9 <PID>
kill-9
您终止进程的方法可以压缩为kill-9`lsof-t-i tcp:8080`
在windows上,获取使用端口8080的进程pid的命令是netstat-a-n-o | find“8080”
kill -9 <PID>