PID: 4 numaralı bağlantı noktasını kullanarak 4


53

Bilgisayarıma Zend Server CE yazılımını kurmaya çalışıyordum ama konuya geldiğimde Web Sunucum için portu seçmem gerekiyordu: "Web Sunucusu Port: 80 İşgal". Bu yüzden CMD ile Port 80'in ne kullandığını kontrol etmeye karar verdim: "netstat -o -n -a | findstr 0.0: 80":

TCP     0.0.0.0:80     0.0.0.0:0     LISTENING     4

Görev Yöneticisinin Süreçleri ve Servislerinde PID: 4'ü kontrol ediyorum. Görünüşe göre PID 4 "Sistem".

Öyleyse bilmek istediğim, "Sistem" in (PID: 4) 80 numaralı Bağlantı Noktasını kullanmasını nasıl durdurabilirim?

BİLGİ: Kullanıyorum: Windows 7 64bit; Zend Server CE 5.5.0


"GET / HTTP / 1.1" den 127.0.0.1'e geçmek ve ne olacağını görünce zarar vermez.
LawrenceC

@ultrasawblade Bunu tam olarak nasıl yaparım?
apokaliptis

1
Koşup telnet 127.0.0.1 80o çizgiyi geçip iki kez enter tuşuna basın. Windows 7 kullanıyorsanız, önce "Windows özelliklerini ekle ve kaldır" seçeneğinden telnet istemcisini yüklemeniz gerekir.
billc.cn

1
Windows 8 64'te World Wide Web Publishing hizmeti benim için hile yaptı.

2
HTTP hizmet durumu, PID 4 durumunda çalışan hizmetleri tanımlamanıza yardımcı olabilir netsh http show servicestate. Kayıtlı URL'leri veya Günlük bilgilerini çalıştırın .
pazadev

Yanıtlar:


78

Tamam, bir süre internette arama yaptıktan sonra sorunuma bir çözüm buldum.

Sorununuzu teşhis etmek ve çözmek için aşağıdaki adımları uygulamanız yeterlidir:

  1. 80 numaralı bağlantı noktasını dinleyen bir ödeme alın: netstat -nao | find ":80"

  2. Görev yöneticisini açın, işlemler sekmesine gidin ve “PID” yi kontrol edin Menu/View/Select Columns…, ardından son adımda bulunan PID'yi kullanarak işlemi arayın.

  3. Bir ise normal uygulama veya devre dışı bırakmak, onu ya kaldırma IIS. Bazı programlar (Skype gibi) 80 numaralı bağlantı noktasını kullanımını devre dışı bırakma seçeneğine sahiptir.

  4. Bu bir Sistem İşlemi ise ( PID 4), Windows 7 veya 2008'de Windows Remote Management veya Print Spooler gibi başka bir servis tarafından talep üzerine başlatılan HTTP.sys sürücüsünü devre dışı bırakmanız gerekir.

    Bunu devre dışı bırakmak için iki yol var, ancak ilki daha güvenli:

    1.

    • Aygıt yöneticisine gidin, menüden / görünümden “gizli aygıtları göster” i seçin, “Tak ve Çalıştır Sürücüsü” / HTTP seçeneğine gidin, devre dışı bırakmak için çift tıklayın (veya buna bağlı olarak bazı servisler için el ile ayarlayın).

    • netstat -nao | find ":80"80'in hala kullanıldığını kontrol etmek için yeniden başlatın ve kullanın .

    2.

    • RegEdit'i başlatın.

    • Git HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP

    • "Start" değerini 4 olarak değiştirin, yani devre dışı bırakılmış demektir.

    • Bilgisayarını yeniden başlat.

Benim çözümüm 4. adımdı .


4
Windows Server 2012 aygıt yöneticisindeki "Tak ve Çalıştır Olmayan Sürücü" ağacı nerede?
Maria Ines Parnisari

4
Aygıt yöneticisi yaklaşımı Windows 8'den itibaren kullanılamaz.
Roddy

1
Kayıt çözümü Win8'de çalıştı. Linux'u özlüyorum.
AlikElzin-kilaka

5
Lütfen bunu biraz düzeltin. Windows'ta "HTTP" hizmetini devre dışı bırakmak, tüm bağımlılıklarını devre dışı bırakır. 80 numaralı bağlantı noktasını kullanan belirli hizmet, "HTTP" bağımlılığı olan "W3SVC" dir (Dünya Çapında Web Yayını Hizmeti). Bu, bir İdari Komut İsteminden "net stop W3SVC" ve ardından 'netstat -n -o -a | Hiçbir şeyin artık 80 numaralı bağlantı noktasında listelenmediğini doğrulamak için ": 80" "bulun. Bunun yerine World Wide Web Publishing Service'in (W3SVC) devre dışı bırakılmasını tavsiye ederim (SSDP'yi, Yazdırma Biriktiricisi, Ev Grubu ve İşlev Bulma özelliğini devre dışı bırakmak istemiyorsanız).
chriv

2
Bu talimatı hiç anlamıyorum . Go to device manager, select “show hidden devices” from menu/view, go to “Non-Plug and Play Driver”/HTTP, double click it to disable it (or set it to manual, some services depended on it).Hiçbir Non-Plug and Play Driver”/HTTPyerde bir menü öğesi yoktur .
Martin Erlic

25

Sadece Windows 8 Pro - Build 9200'ü kurduktan sonra bu sorunu yaşadım. Birkaç yöntem denedim fakat hiçbiri işe yaramadı. Ancak bu, düzeltti.

HTTP.SYS için bağlanmış IP adresini değiştirmeniz gerekir.

netsh http add iplisten ipaddress=::

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


Bu çözüm, hem http.sys kullanmayan hem de kullanan bir sunucu çalıştırmanız gerektiğinde harikadır.
Thor Jacobsen

Ayrıca benim için çalıştı. Aslında ne işe yarıyor?
akame

1
Sorunumu çözdüğüm için limanı boşalttığını, ancak başka yan etkileri de olduğunu düşündüm. Özellikle, bu değişiklikten sonra IIS ile belirli ana bilgisayar adlarına bağlanamadım. Geri almak için kullanılmışnetsh http delete iplisten ipaddress=::
cchamberlain

Bu benim için çalıştı, ancak yan etkileri vardı. Lütfen aynı komutu kullanan, ancak farklı bir IP adresini kullanan olası bir alternatif için aşağıdaki cevabımı inceleyin.
Dave Morton

6

Benim durumumda WebMatrix'ti. Olası çözümleri (bu dahil) burada görebilirsiniz: http://www.sitepoint.com/unblock-port-80-on-windows-run-apache/

Temelde:

Hizmetleri Yönetimsel Araçlar'dan açın ve “Web Dağıtım Aracısı Hizmeti” ni bulun. Hizmeti durdurun ve başlangıç ​​türünü “Manuel” olarak ayarlayın.

Web Dağıtım Aracısı Hizmeti, WebMatrix ile birlikte dağıtılır ve sıkıntılarımın nedeni oldu. Microsoft'un Web Platformu Yükleyicisi kullanılarak yüklenen diğer uygulamalarla da dağıtılabilir.


Ayrıca yaşadığım sorun (Windows 10'da)
toby1kenobi 18:16

5

PID 4, sistem çekirdeğinin bir parçası olan "Sistem" işlemi olarak kodlanmıştır.

Bağlantı noktası sistem tarafından kullanılıyorsa, muhtemelen IIS'yi etkinleştirmişsinizdir. Bkz. Https://stackoverflow.com/questions/1430141/port-80-is-being-used-by-system-pid-4-what-is-that


Yardımcı olacağını düşündüğüm IIS 7.5 Express'i kaldırdım. Belki yeniden başlatmalıyım? Bunu deneyeceğim.
apokaliptis

Hayır! Sorun hala devam ediyor.
apokaliptis

Yüklü IIS 7.0 (Windows 7 ile birlikte gelen) de var mı? Normalde w3svc işlevini durdurursanız, bağlantı noktası kapatılır.
billc.cn

Hayır! Ve bildiğim kadarıyla, başka hiçbir web sunucusu da kurulmamalıydı.
apokaliptis

Netstat'ı tekrar çalıştırabilir misiniz, ancak yalnızca DİNLEME yapan portları postalar mısınız?
billc.cn

1

Komutu kullanmak netsh http add iplisten ipaddress=::, gerçekten de, Apache'nin Windows 10 64 bit sistemimde başlatılmasına izin verirken , ana bilgisayar dosyamdaki uygun girdiyle bile, ::bunun yerine, yerel 127.0.0.1ana bilgisayara erişmeye çalışmaktan büyük zarar gördü . Yaptığım işin yerine bu komutu kullanmak vardı: netsh http add iplisten ipaddress=0.0.0.0 Bu sadece işe yaramadı, aynı zamanda tarayıcının localhost'a erişmesine de izin verdi. Benim için bu üstün bir çözümdü.


0

Servisler Listesini Açın "World Wide Web Publishing Service" bulun. Durdur ve Manuel olarak ayarlayın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.