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>