web-dev-qa-db-ja.com

ポート80を使用したPID:4

私は自分のコンピュータにZend Server CEをインストールしようとしていましたが、私のWebサーバ用のポートを選択する必要があるときは、 "Web Server Port:80 Occupied"と表示されます。だから私は入力してCMDでポート80を使用しているかを確認することにしました: "netstat -o -n -a | findstr 0.0:80":

TCP     0.0.0.0:80     0.0.0.0:0     LISTENING     4

タスクマネージャのプロセスとサービスでPID:4をチェックします。 PID 4は "System"のようです。

それで、私が知りたいのは、どのようにして "System"(PID:4)がポート80を使用するのをやめることができるのですか?

情報:私は使っています:Windows 7 64bit; Zend Server CE 5.5.0

50
apokaliptis

さて、しばらくウェブを検索した後、私は自分の問題に対する解決策を見つけました。

問題を診断して解決するには、次の手順に従ってください。

  1. ポート80をリッスンしているPIDを取得します。netstat -nao | find ":80"

  2. タスクマネージャを開き、[プロセス]タブに移動し、Menu/View/Select Columns…の「PID」を確認し、最後の手順で見つけたPIDを使用してプロセスを探します。

  3. それが通常のアプリケーションまたはIISの場合は、無効にするかアンインストールします。 Skypeなどの一部のプログラムでは、ポート80の使用を無効にすることができます。

  4. それがシステムプロセス - PID 4の場合 - Windows Remoteなどの他のサービスによってオンデマンドで開始されるHTTP.sysドライバを無効にする必要があります。 Windows 7または2008上の管理または印刷スプーラ。

    無効にする方法は2つありますが、最初の方法が安全です。

    1。

    • デバイスマネージャに行き、メニュー/ビューから「隠しデバイスを表示」を選択し、「プラグアンドプレイでないドライバ」/ HTTPに行き、ダブルクリックして無効にします(または手動に設定します、一部のサービスは依存します)。

    • 再起動してnetstat -nao | find ":80"を使用し、80がまだ使用されているかどうかを確認します。

    2。

    • RegEditを起動します。

    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTPに行く

    • "start"の値を4に変更します。これは無効になることを意味します。

    • コンピュータを再起動してください。

私の解決策はステップ4でした。

74
apokaliptis

私はちょうどWindows 8 Pro - Build 9200をインストールした後にこの問題を抱えていました。これは、しかし、それを修正しました。

HTTP.SYSのバインドIPアドレスを変更する必要があります

netsh http add iplisten ipaddress=::

http://www.mikeplate.com/2011/11/06/stop-http-sys-from-listening-on-port-80-in-windows/

23
neojp

私の場合はWebMatrixでした。ここで可能な解決策(こちらも含む)をご覧ください。 http://www.sitepoint.com/unblock-port-80-on-windows-run-Apache/

基本的に:

[管理ツール]から[サービス]を開き、[Web配置エージェントサービス]を見つけます。サービスを停止して、スタートアップの種類を[手動]に設定します。

Web配置エージェントサービスはWebMatrixと共に配置され、私の苦痛の原因でした。 MicrosoftのWeb Platform Installerを使用してインストールされた他のアプリケーションと一緒に配布されることもあります。

6
Martín Coll

PID 4は、システムカーネルの一部である「システム」プロセスとしてハードコードされています。

ポートがシステムによって占有されている場合は、おそらくIISが有効になっています。 https://stackoverflow.com/questions/1430141/port-80-is-being-used-by-system-pid-4-what-is-that を参照してください。

5
billc.cn

コマンドnetsh http add iplisten ipaddress=::を使用している間、確かに、Apacheが私のWindows 10 64ビットシステム上で起動することを可能にしました、それは::の代わりに127.0.0.1にバインドされていたので - 私のhostsファイルに適切なエントリがあっても。私がやってしまったのは、代わりにこのコマンドを使うことでした。netsh http add iplisten ipaddress=0.0.0.0これはうまくいっただけでなく、ブラウザからlocalhostへのアクセスも許可しました。私にとってこれは優れた解決策でした。

1
Dave Morton

[サービス]リストを開く[World Wide Web発行サービス]を見つけて停止し、[手動]に設定します。

0
Aaron