2012-11-23 60 views

回答

4

消息

服務器無法啓動8080端口:已在使用中的地址

表明你的機器上其他一些進程已經綁定自己的8080端口。我猜想這是Tomcat的一個實例,因爲您啓動了它,或者它無法通過您使用的任何IDE進行正確關閉。

無論如何,this question應該可以幫助您結束使用該端口的進程。

至於關於腳本8888的第二個錯誤,我不知道。 Grails不會嘗試在我的環境中啓動此腳本,所以我想它與您安裝的插件有關。

3

問題是端口號8080已被使用。因此,您必須停止該流程才能讓新流程取而代之,或者您可以在運行應用時指定grails -Dserver.port=8090 run-app

但是,由於您遇到腳本錯誤,您可能未在BuildConfig.groovy中指定端口。

這裏的解決方案: 添加grails.server.port.http=8888BuildConfig.groovy

指在這裏評論: http://www.icodeya.com/2012/06/grails-resolving-server-failed-to-start.html

20

如果端口號8080已被使用,並要重複使用同一個端口,你應該殺其工藝:

首先,檢查正在使用端口8080。要做到這一點運行的進程的PID:

lsof -w -n -i tcp:8080 

Result after running Command

在上面的例子中,PID是用於過程3812正在使用端口9090

。注意到PID的。 PID在您的機器上可能不同。我們需要這種用於執行下一個命令: kill process

所以你必須通過運行應用程序來測試它:

grails run-app 

UPDATE: 作爲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}'` 
+4

您的殺死進程的方法可以壓縮爲'kill -9 \'lsof -t -i tcp:8080 \'' – Bart

+2

在windows上,獲取使用端口8080的進程的pid的命令是' netstat -a -n -o |找到「8080」' – HumanInDisguise

1

如果您使用的是STS或Eclipse(或可能是基於Eclipse的任何環境),則有一個選項是轉到Debug透視圖(窗口 - >打開透視圖 - >調試)。從那裏你可以右鍵點擊你正在運行的服務器,然後點擊終止並重新啓動。這將殺死當前的服務器,並在同一端口重新啓動,以便您不會收到Server failed to start for port 8080: Address already in use消息。

至於Error executing script 8888: For input string: ""我以前沒見過它,但似乎@ShootingStar有一個答案。

1

當端口號8080已被使用,並要重複使用同一個端口,你應該殺的過程: 使用​​將打印你PID綁定在該端口上的過程。

而這fuser -k 8080/tcp將殺死該進程。

僅限Linux平臺上的炒作。更普遍的是使用lsof -i4(或6用於IPv6)。

例子:如果端口是8080,在終端上運行:

fuser -k -n tcp 8080 

這就是它!

8

如果您使用的Grails/Groovy的工具套件(基於Eclipse的IDE),選擇這樣運行方式>運行配置.... 然後,在Grails的標籤,輸入:

-Dserver.port=8050 run-app 

因此,Grails將在端口8050上運行,而不是默認端口(8080)。

0

比其他發佈的答案更容易。

在控制檯窗口中有一個X和XX圖標。當你將光標懸停在它上面時。您會看到顯示「刪除啓動」和「刪除所有終止啓動」的氣球。

雙擊它們。 Eclipse將清除所有現有的服務器,以便您可以在默認端口上重新啓動服務器。

0

您需要終止在端口8080上運行的進程;如Tomcat使用Java作爲其流程

netstat -plten |grep java 

使用的grep的java: 那麼使用命令。

它會顯示與端口號和進程ID

tcp6  0  0 :::8080     :::*     LISTEN  
1000  30070621 16085/java 

進程列表前/ java的數量是一個進程ID。現在使用kill命令殺死進程

kill -9 16085 

-9意味着進程將被強行殺死。

0

如何殺死一個繁忙的港口用C

開放命令提示和類型:> netstat的-a -n -o |找到「8080」 找到該端口的PID示例 TCP 0.0.0.0:8888 0.0.0。0:0聽力9068

C:> TASKKILL/PID 9068/F SUCCESS:具有PID 9068的方法已被終止。

+1

也許這是一個好主意,給你一些解釋你的答案... – Milkmannetje

相關問題