アプリケーション サーバーにポート 80 を使用しようとしていますが、実行すると次のようnetstat -aon
になります。
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4
タスクマネージャーでプロセスを調べると、それはPID 4
それSYSTEM
です。拡張子はありません...何もありません。ただ「SYSTEM
」。何が起きてる?
このプロセスを終了するのが怖いのですが、どうすればよいですか?
Windows でポート 80 をリッスンできるサービスは多数あります。
幸いなことに、単純なコンソール コマンドを実行することで、それらをすべて検出して停止できます。
NET stop HTTP
起動すると、最初にリストが表示されます。
今後この問題を回避するには、ローカル サービスに移動し、リストされているサービスを無効にします。
注意- 一部のサービスはすぐに再起動します。 「NET stop HTTP」を数回実行するだけです。
"Web Deployment Agent Service" (MsDepSvc) と呼ばれる新しいサービスは、PID=4 で "System" をトリガーして、ポート 80 でリッスンすることもできます。
また、「SQL Server Reporting Services(MSSQLSERVER)」を停止してみてください。これは、デフォルトで80になっているようです。これを実行すると、ポート80が解放されました。PIDは犯人を「システム」と特定しましたが、明らかにそのシステムは複数のことを意味する可能性があります。
私も同じ問題を抱えていました。実行中のサービスで World Wide Web Publishing Service を停止することで修正できます。
IPアドレスは0.0.0.0、状態=リスニング:ポート80がすべてのインターフェイスをリッスンしていることを意味します(使用されていません)
これは私のために働く:
IIS が HTTP 要求のためにポート 80 をリッスンしているようです。
[コントロール パネル]、[管理ツール]、[インターネット インフォメーション サービス] の順に移動し、[既定の Web サイト] を右クリックして、ポップアップ メニューの [停止] オプションをクリックし、ポート 80 のリスナーがクリアされているかどうかを確認して、IIS を停止してみてください。
これは、次の 5 つの手順に従うことで非常に簡単に修正できます。
今後この問題を回避するには:
ヴィオラは準備万端です!
根本原因の詳細: https://serverfault.com/questions/65717/port-80-is-being-used-by-system-pid-4-what-is-that
ポート 80 を占有する可能性のある他のサービスは、BranchCacheです。
services.msc
「BranchCache」として表示する
または、net
次のようなコマンドを使用してサービスを停止します
net stop PeerDistSvc
アップデート:
PeerDistSvc は svhost.exe の背後にあるサービスで、svchost サービス タイプを表示します。
tasklist /svc /fi "imagename eq svchost.exe"
私はこれらの答えが正しいことを知っていましたが、私のservices.mscはサービスを表示していませんでしたが、これはうまくいきました:
sc stop "MsDepSvc"
sc config "MsDepSvc" start= disabled
IISを使用したことがないことを除いて、これとまったく同じ問題がありました。別のシステム バグを修正している間、システムの複雑さを軽減することを期待して、Apache サービスを手動で開始するように設定しました。他のバグを修正したら、apache が起動しなくなりました。しばらく戸惑いましたが、Apache を自動起動に戻すだけでした: [スタート] > [管理ツール] > [サービス]。
どうやら Apache がこの方法で起動すると、SYSTEM プロセスができる前にポート 80 を要求します。
誰か。グーグルで検索した結果、「IIS と Apache を同じマシンにインストールすることはできません」というメッセージが表示されました。これは私たちの残りの 1 パーセントのためのものです。
netstat -b を試してみてください。これにより、状況が明らかになる可能性があります (どの .exe がポートを使用しているかを示します)。幸運を。
私にとっては、Web Deployment Agent Service を停止した後に機能しました。
これはPIDの側面を説明するものではありませんが、Skypeを実行している場合は、何らかの理由でポート80を使用するのが好きです。
私は同じ問題を抱えていましたが、それはサーバーで実行されている IIS が原因でした。その場合は、IIS マネージャーを使用して停止できます。
私の場合、Microsoft Web Matrix をインストールした後に発生しました。このゴミ箱を「Microsoft Web Deploy」と共にアンインストールすると、問題が修正されました。
BranchCache が私の問題でした。私の解決策は、Powershell を管理者として実行し、以下を実行することでした。
Disable-BC -Force
参照: https://docs.microsoft.com/en-us/powershell/module/branchcache/disable-bc?view=win10-ps
「すべてのユーザーからのプロセスを表示する」にチェックマークを付けた後でも、PID=4 はタスクマネージャーに表示されません。ユーザーは 1 人しかいません。
ただし、 netstat -b は、このコンピューターで次のように表示された同じ PID=4 を指す複数の接続を示しています。
TCP プロトコルに関連するものだけを選択しました。
これは、他の多くのことを試した後、IIS が起動しないというトラブルシューティング中に取得されました。このプロセスを止めるべきではないと思います。
私の場合、VM で「Citrix Virtual Desktop Agent」をアンインストールする必要がありました
タイプnetstat -a -n -b -o |more
停止World Wide Web Publishing Service
が役立つ場合
次に、IIS マネージャーで各サイトのバインディング設定を確認します。サイトを選択し、サイド パネルで [バインディング] をクリックします。次に、必要に応じてポート 80 を別のものに変更します。