20

ポート番号 80 を使用する Linux プラットフォームに webserver-apache をインストールしたいのですが、ポートが開いているかどうか、他のアプリケーションで使用されているかどうかがわかりません。

  1. の出力grep 80 /etc/servicesは次のとおりです。
http  80/tcp  www www-http   #World Wide web Http
http  80/udp  www www-http   #Hypertext transfer protocol
  1. netstat -an | grep 80 | more:

いくつかのIPを提供しますが、そのうちの1つは

IP:80 TIME_WAIT

インストールを開始できるように、ポート 80 が開いていて使用されていないかどうかを確認する方法を教えてください。

4

9 に答える 9

6
netstat -tln | tail -n +3 | awk '{ print $4 }'  

これは、TCP リッスン エンドポイントのバインド アドレスを表示します。他のすべてのエンドポイントは無料です。また、Unix 上で root でない場合、「特権」ポート番号 (1024 未満のポート番号) にバインドすることはできません。

詳しく説明します:

  • netstat -tln - すべてのリッスン TCP ポート

  • tail -n +3 - netstat コマンドのヘッダーを切り取る

  • awk '{ print $4 }' - [ip]:[port] で構成される 4 番目の列を出力します。

一般的なケースでは、関係のないインターフェースをすべて切り取る必要があります。リスニング アドレス 0.0.0.0 はすべてのネットワーク カードでリッスンしています。IP アドレスがある場合、それはネットワーク カード/ネットワーク インターフェイスの特定の IP です。

于 2013-12-05T10:16:48.753 に答える
4

lsof を grep にパイプして、ポート番号を検索してみてください。

lsof|grep <port>

何も表示されない場合は、ポートが使用されていないことを意味します

を使用して、特定のポートでプロセスを強制終了できます

kill -9 <pid>

pid は、最初のコマンドで取得したプロセス ID です。

于 2012-12-22T09:59:17.493 に答える