2011-09-01 40 views
1

我使用Eclipse和GlassFish 3.1在Mac(Lion)上開發。 GlassFish使用端口8080和4848.突然,當我嘗試啓動GlassFish時,它告訴我它不能,因爲存在端口衝突。由於「端口衝突」GlassFish無法啓動,但沒有使用該端口 - GlassFish出現了什麼問題?

據我所知,沒有什麼是使用該端口。我關閉一切並重新啓動Mac,並且在運行GlassFish時仍然出現相同的錯誤。我卸載GlassFish,刪除所有目錄,重新啓動我的機器,重新安裝GlassFish和同樣的問題。

我在我的Mac上創建了一個新的測試用戶,以我身份登錄,以他的身份登錄,在該用戶帳戶下安裝GlassFish,並且在那裏運行良好。

這就像我的用戶帳戶中有東西讓我的Mac或GlassFish認爲端口正在使用中。

有誰知道我可以如何解決這個問題?我討厭在我的Mac上創建一個新帳戶並將所有數據傳輸到那裏的想法。看起來像一個過度的解決方案。

任何想法?

羅布

UPDATE:做一個 「lsof的-i:8080」 顯示我:

$ lsof -i :8080 
COMMAND PID USER FD TYPE    DEVICE SIZE/OFF NODE NAME 
launchd 158 stephen 8u IPv4 0xffffff8014945fa0  0t0 TCP *:http-alt (LISTEN) 
launchd 158 stephen 10u IPv6 0xffffff8014941240  0t0 TCP *:http-alt (LISTEN) 
printerAg 232 stephen 5u IPv4 0xffffff8014945fa0  0t0 TCP *:http-alt (LISTEN) 
printerAg 232 stephen 6u IPv6 0xffffff8014941240  0t0 TCP *:http-alt (LISTEN) 

我想這意味着有8080端口上的東西嗎?如果是這樣,那麼launchd和printerAg是什麼?他們爲什麼在這個用戶帳戶上運行,但不是在我創建的新用戶帳戶上運行?謝謝!

+0

您究竟是如何檢查端口是否在使用? –

+0

我跑了一些我的UNIX知識淵博的同事建議的命令,但顯然我沒有正確執行。看到問題中的更新,似乎有什麼。任何想法是什麼? –

回答

1

檢查誰正在使用的端口:

lsof -i :8080 -i :4848 
+0

嗨羅布,冉命令,似乎有東西在運行(見我添加到問題的更新)。任何想法接下來我應該做什麼? –

+0

launchd是主要的守護進程運行系統。您已安裝了一些在8080上偵聽的軟件。請參閱http://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html –

+0

看起來像我找到了它。該任務被稱爲「printerAg」,所以我卸載/刪除了所有惠普和打印機相關的實用程序,它看起來像使用8080的任務現在消失了。謝謝! –

1

您還可以通過以下命令,從8080更改HP打印機的端口18089:

sudo sed -i "" -e "s|8080|18089|g" ~/Library/LaunchAgents/com.hp.printerAgent.plist 

然後重新啓動您的系統。

相關問題