web-dev-qa-db-ja.com

開始できませんIIS-ポート80で実行されているものを見つけるにはどうすればよいですか?

これは、IIS 7.を実行しているWindows Vistaマシン上にあります。7。既定のWebサイトを起動しようとしていますが、「プロセスはファイルにアクセスできません。別のプロセスが使用しているためです。

バインディングをポート82に変更すると、正常に動作します。 80で何かが実行されていると思います。どうすればそれを見つけることができますか?

7
epitka
netstat -ab | find ":80 "

80の後のスペースに注意してください。/bには管理者特権のコマンドプロンプトが必要です。

編集:詳細な検査後、netstat -abをその検索文字列を使用してfindにパイプしても、-bスイッチが取得する実行可能ファイルは表示されません。これは、-bが所有プロセスを新しい行に表示するためです。 =(私は失敗しました。しかし、少なくともコマンドの前半は機能します。findコマンドを使ってすべての空想を取得する必要がありました。=)

10
Wesley

私が最初に行うことは、ブラウザを開いて http:// localhost / を表示し、何が表示されるかを確認することです。次に、もちろんnetstatを確認します。

4
Chris Nava
3
Greg Askew

Vistaではわかりませんが、XPでは、次のことができます。

netstat/a/b

コンソールでこれを確認してください。

3
Daniel

管理者としてコマンドプロンプトを起動し、コマンドnetstat -abを実行して、出力から適切な行を見つけます。これにより、そのポートでリッスンしているプロセスの実行可能名がわかります。

それができれば、何を探すべきかがわかるはずですが、その実行可能ファイルが何かわからない場合は、タスクマネージャーを起動して、[プロセス]タブに移動し、次の場所でプロセスを見つけます。質問を右クリックして[プロパティ]を選択すると、詳細情報が表示されます。その名前のプロセスが複数ある場合は、netstat -aoを実行してプロセスIDを取得します。

1
Michael Madsen

NETSTAT -ADOを使用して、使用中のポートを表示できますが、残念ながら、特定のポートを開いたアプリケーションの名前はわかりません。これはプロセスIDを提供します。これを使用して、タスクマネージャーの特定のプログラムを確認できます。

または、SysInternalsの Tcpvcon プログラムをダウンロードできます。実行すると、開いているポートの完全なリストと、それらを開いたプログラムが表示されます。

1
David Andres

他の答えは、ポート80が開いているものを教えてくれます。しかし、ポート80がHTTP.SYS(IISのように1)。

HTTP.SYSを使用してリッスンしているものを確認するには、(管理者特権のコマンドプロンプトから)使用できます。

netsh http show servicestate

(これは多くの情報を提供します。)

また、HttpCfg.exeが機能する場合があります(WindowsからXP SP2リソースキット)。


1 これが、IISがポート80で実行されている場合でも、ポート80でリスニングしていると表示されない理由です。

0
Richard

Sysinternals-Daveの投稿で述べられているように(私の最初の投稿で間違った情報を入力して申し訳ありません)

または

http://www.howtonetworking.com/command/openport1.htm

コマンドラインからこれを行う方法について説明します。

0
apocalypse9