これは、IIS 7.を実行しているWindows Vistaマシン上にあります。7。既定のWebサイトを起動しようとしていますが、「プロセスはファイルにアクセスできません。別のプロセスが使用しているためです。
バインディングをポート82に変更すると、正常に動作します。 80で何かが実行されていると思います。どうすればそれを見つけることができますか?
netstat -ab | find ":80 "
80の後のスペースに注意してください。/bには管理者特権のコマンドプロンプトが必要です。
編集:詳細な検査後、netstat -abをその検索文字列を使用してfindにパイプしても、-bスイッチが取得する実行可能ファイルは表示されません。これは、-bが所有プロセスを新しい行に表示するためです。 =(私は失敗しました。しかし、少なくともコマンドの前半は機能します。findコマンドを使ってすべての空想を取得する必要がありました。=)
私が最初に行うことは、ブラウザを開いて http:// localhost / を表示し、何が表示されるかを確認することです。次に、もちろんnetstatを確認します。
Vistaではわかりませんが、XPでは、次のことができます。
netstat/a/b
コンソールでこれを確認してください。
管理者としてコマンドプロンプトを起動し、コマンドnetstat -ab
を実行して、出力から適切な行を見つけます。これにより、そのポートでリッスンしているプロセスの実行可能名がわかります。
それができれば、何を探すべきかがわかるはずですが、その実行可能ファイルが何かわからない場合は、タスクマネージャーを起動して、[プロセス]タブに移動し、次の場所でプロセスを見つけます。質問を右クリックして[プロパティ]を選択すると、詳細情報が表示されます。その名前のプロセスが複数ある場合は、netstat -aoを実行してプロセスIDを取得します。
NETSTAT -ADOを使用して、使用中のポートを表示できますが、残念ながら、特定のポートを開いたアプリケーションの名前はわかりません。これはプロセスIDを提供します。これを使用して、タスクマネージャーの特定のプログラムを確認できます。
または、SysInternalsの Tcpvcon プログラムをダウンロードできます。実行すると、開いているポートの完全なリストと、それらを開いたプログラムが表示されます。
他の答えは、ポート80が開いているものを教えてくれます。しかし、ポート80がHTTP.SYS
(IISのように1)。
HTTP.SYSを使用してリッスンしているものを確認するには、(管理者特権のコマンドプロンプトから)使用できます。
netsh http show servicestate
(これは多くの情報を提供します。)
また、HttpCfg.exe
が機能する場合があります(WindowsからXP SP2リソースキット)。
1 これが、IISがポート80で実行されている場合でも、ポート80でリスニングしていると表示されない理由です。
Sysinternals-Daveの投稿で述べられているように(私の最初の投稿で間違った情報を入力して申し訳ありません)
または
http://www.howtonetworking.com/command/openport1.htm
コマンドラインからこれを行う方法について説明します。