web-dev-qa-db-ja.com

ポート8080を使用できません-何が実行されていますか? (OS Xマーベリックス)

カーゴを使用してポート8080でTomcatを実行しようとしていますが、次のメッセージが表示されます。

org.codehaus.cargo.container.ContainerException:ポート番号8080(プロパティcargo.servlet.portで定義)が使用されています。システムで解放するか、コンテナ構成の別のポートに設定してください。

8080のローカルホストにtelnetすると、接続されます。

しかし、私がSudo lsof -n | grep 8080、何も見えません。 netstatでも運が悪い。

何が問題なのですか?

2
Eddified

多くのネットワークコマンドの出力は、デフォルトでより人間が読めるように作られています。 IPアドレスとポート番号ではなく、ホスト名とサービス名を使用します。

APP.DOMAIN.COM:http (LISTEN) vs 10.191.12.109:80 (LISTEN)

このようなコマンドの出力でポート番号をgrepするには、ポート番号を使用していることを確認する必要があります。 lsofの場合、それは-Pコマンドオプション。

Sudo lsof -n -P | grep :8080

netsatの場合は-nホスト名とサービス名の両方をオフにします。

Sudo netstat -lpn | grep :8080
1
Brian

@Brianが提案したlsofコマンドは機能するはずです(ただし、lsofSudo lsof -i:8080を使用して独自のフィルタリングを実行させることをお勧めします)。これらのコマンドのいずれにも何も表示されない場合は、何か他のことが起こっていると思われます。たとえば、Tomcatがポートを2回開こうとして、それ自体と競合している可能性はありますか?

0
Gordon Davisson

また、コマンドSudo lsof -i:8080とnetstatの両方がポート8080に固有のものを表示しないため、ポート8080で実行されているものを見つけるのに苦労しました。コマンドSudo lsof -i:80を実行して、それを使用しているものを見つけました。 MacにインストールされているESetAntivirusがブロックしていることが判明しました。 ESetをアンインストールしましたが、すべて問題ありません。

0
Ravinder Singh