La porta 80 viene utilizzata da SYSTEM (PID 4), che cos'è?


345

Sto cercando di utilizzare la porta 80 per il mio server delle applicazioni, ma quando eseguo netstat -aonottengo:

TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4

Quando guardo il processo nel task manager, mostra PID 4è SYSTEM, questo è tutto. Nessuna estensione ... niente. Solo " SYSTEM". Cosa sta succedendo qui?

Ho paura di terminare questo processo, cosa devo fare?


AGGIORNAMENTO :

Ho risolto questo problema con un'altra domanda di StackTranslate.it , che aveva la soluzione per impedire a IIS di interrompere l'ascolto sulla porta 80 per un indirizzo IP specificato.



1
Per i lettori futuri, dovrebbe essere utile leggere serverfault.com/questions/65717/… al fine di capire perché alcune delle risposte pubblicate di seguito hanno funzionato (ma nessuna delle risposte è andata nel livello dei dettagli).
Lex Li,

Risposte:


37

l'indirizzo IP è 0.0.0.0, state = LISTENING: significa che la porta 80 è in ascolto di tutte le interfacce (non utilizzata)

Come leggere i risultati NETSTAT -AN:


61
"significa che la porta 80 sta ascoltando tutte le interfacce (non utilizzate)" non esattamente - il servizio "World Wide Web Publishing Service" stava ascoltando su questa porta. Una volta interrotto manualmente, potresti liberare quella porta (almeno in Windows 7)
despota il

33
Giusto per chiarire, il servizio di pubblicazione sul World Wide Web è W3SVC. Interrompere questo servizio risolve il mio problema.
daniel__

20
L'arresto e la disabilitazione del servizio W3SVC funziona anche per me: sc stop w3svcquindisc config w3svc start= disabled
dugloon

1
Questo link ( devside.net/wamp-server/… ) mi ha aiutato a restringere i colpevoli e finalmente a trovare quello che stavo cercando. Stranamente questo post di StackOverflow non è stato pop-up nelle mie ricerche finché non l'ho risolto.
DangerPaws

3
ASCOLTO significa usato. Significa che esiste un processo che utilizza quella porta specifica, in attesa di chiamate in arrivo. Stavo cercando di avviare il sito Web predefinito e IIS mi ha detto che esiste un altro processo che utilizza la porta 80. La risposta più votata, quella relativa al "Servizio di agente di distribuzione Web" (MsDepSvc), è una spiegazione migliore di ciò che sta accadendo.
Mircea Ion,

285

Un nuovo servizio chiamato "Web Deployment Agent Service" (MsDepSvc) può anche attivare "Sistema" con PID = 4 per l'ascolto sulla porta 80.


4
Ho avuto lo stesso identico problema del poster originale. La risposta di Antony ha risolto il mio problema poiché non avevo servizi di segnalazione attivi. Di recente avevo installato WebMatrix, quindi forse "Web Deployment Agent Service" è stato installato come parte di quel pacchetto. In ogni caso, fermare quel servizio ha liberato la porta 80. Prendere la porta 80 in quel modo mi sembra abbastanza sfacciato.
Voam,

7
WebMatrix sembra essere il problema qui
Jonathan,

5
Sì, posso confermare con Jonathan che dopo l'installazione di WebMatrix (e delle sue dipendenze tramite Microsoft Web Platform Installer), viene visualizzato il servizio "Web Deployment Agent Service". In effetti, non è un progetto molto intuitivo utilizzare la porta 80, specialmente se si esegue anche il server Apache / IIS sulla stessa scatola.
Antony,

Per interrompere temporaneamente MsDepSvc, andare su Esegui -> "Services.msc", fare clic con il tasto destro del mouse su Web Deployment Agent Service, fare clic su Stop.
timofey.com,

È possibile modificare l'URL per MsDepSvc (Web Deployment Agent Service) qui: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ MsDepSvc \ Parameters
Grynn

251

Esistono molti servizi che possono ascoltare la porta 80 su Windows.

Fortunatamente puoi rilevarli e fermarli tutti eseguendo un semplice comando console:

NET stop HTTP

Quando lo avvierai, otterrai prima l'elenco: inserisci qui la descrizione dell'immagine

Per evitare questo problema in futuro, vai a Servizi locali e disabilita i servizi elencati .

NB - Alcuni servizi si riavvieranno immediatamente, basta eseguire "NET stop HTTP" alcune volte .


3
NOTA ... esegui cmd come amministratore
boi_echos il

3
Arresterà anche il servizio di spooler che è responsabile delle stampanti.
Rahman,

7
Mi è mancato il sottile fatto che ti viene presentato prima un elenco di servizi in esecuzione e la scelta di continuare con la loro interruzione. Questo mi ha permesso di vedere cosa stava funzionando, scegliere di non fermarli tutti, quindi trovare il servizio sospetto nel mio pannello Servizi, interromperlo e impostarlo su manuale. La soluzione di Anton è fantastica. Facile da ricordare e da usare.
Perry Tew,

1
@barlop è un modo davvero strano di reagire alle persone che cercano di aiutarti
Anton Purin,

2
Comandi migliori per trovare il colpevole: netsh http show urlacle netsh http show servicestate(cercare tutti quelli con: 80 in loro.) Fonte: devside.net/wamp-server/…
Ayub

241

Inoltre, prova a interrompere "SQL Server Reporting Services (MSSQLSERVER)", che apparentemente è impostato su 80. L'ho fatto e la porta 80 è stata liberata. PID ha identificato il colpevole come "Sistema", ma apparentemente quel Sistema può significare più cose.


5
SQL Server Reporting Services ascoltava anche sulla porta 80 sul mio sistema. Grazie!
dopo il

2
Ho iniziato a vedere questa porta 80 dopo aver installato il server MSSql e non me ne sono reso conto finché non ho visto la tua soluzione. Dopo aver interrotto il servizio tutto bene ora. Grazie.
Damodar Bashyal,

4
Modifica "URL del servizio Web" E "URL del portale Web" in "Gestione configurazione Reporting Services" per, diciamo, porta 82 :-)
François Breton,

87

Ho avuto lo stesso problema. Potrebbe risolverlo arrestando il servizio di pubblicazione sul World Wide Web in esecuzione di servizi.


funziona alla grande arrestando l'agente del servizio di distribuzione Web nei servizi su Windows 7 Professional.
user606669,

Funziona ma interrompe anche la mia capacità di ospitare siti su altre porte tramite IIS.
cchamberlain,

Questo non ha funzionato per me su Windows Server 2012 R2. Apparentemente il servizio non esiste nemmeno, quindi non riesco a terminare il processo.
Martin Erlic,

30

Sembra che IIS stia ascoltando la porta 80 per le richieste HTTP.

Prova a interrompere IIS accedendo al Pannello di controllo / Strumenti di amministrazione / Internet Information Services, facendo clic con il pulsante destro del mouse sul sito Web predefinito e facendo clic sull'opzione Stop nel menu a comparsa, per vedere se l'ascoltatore sulla porta 80 è stato cancellato.


Sul mio sistema era IIS, ma il nome dei servizi era "WWW-Publishingdienst" (quello tedesco?)
Olivier Faucheux,

28

Questo funziona per me:

  1. Fare clic con il tasto destro su Risorse del computer .
  2. Seleziona Gestisci .
  3. Fare doppio clic su Servizi e applicazioni .
  4. Quindi fare doppio clic su Servizi .
  5. Fare clic destro su " Servizio di pubblicazione sul Web ".
  6. Seleziona Stop .

1
Per il passaggio 5, il mio problema era con SQL Server Reporting Service. L'ho spento e il problema è stato risolto. In precedenza avevo disattivato i servizi di WWWPublishing ma ciò non ha risolto il problema.
Auguste,

ReportServer $ SQLEXPRESSS2016 stava facendo questo sul mio pc.
Liam Mitchell,

25

Ho scoperto che "SQL Server Reporting Services (MSSQLSERVER)" si avvia automaticamente e ascolta sulla porta 80.

Spero che questo possa essere d'aiuto.

O


23

SOLUZIONE DI LAVORO TESTATA: (WINDOWS 10)

Ci sono molte ragioni per questo, l'unica causa / soluzione che ho raccomandato è questa:

APRI IL TUO COMANDO FINESTRA CON AMMINISTRATORE PREVILEGI POI:

net stop http /y

quanto sopra accetterà di interrompere il servizio http quindi:

sc config http start= disabled

quanto sopra configurerà il servizio per disabilitarlo di default

SE SOPRA LA SOLUZIONE NON FUNZIONA TROVA IL TUO CASO SPECIFICO QUI:

FONTE: http://www.devside.net/wamp-server/opening-up-port-80-for-apache-to-use-on-windows

RIAVVIARE IL SERVER WEB / XAMPP / APACHE E FATTO.


Se hai mai bisogno di riattivare l'impostazione predefinita qui è il comando sc config HTTP start= demandla fonte della spiegazione è qui http://servicedefaults.com/10/http/


15

Un altro servizio che potrebbe occupare la porta 80 è BranchCache

services.msc mostrandolo come "BranchCache"

o utilizzare il comando net per interrompere il servizio come

net stop PeerDistSvc

Aggiornare:

PeerDistSvc è un servizio dietro svhost.exe, per visualizzare il tipo di servizi svchost

tasklist / svc / fi "imagename eq svchost.exe"


questo ha funzionato anche per me - la descrizione del servizio dice: BranchCache - Questo servizio memorizza nella cache il contenuto della rete dai peer nella sottorete locale.
xorcus,


Questo articolo ha risolto il mio problema con BranchCache
Amit Beckenstein, il


8

Sapevo che queste risposte erano giuste, ma il mio services.msc non mostrava i servizi, tuttavia questo ha funzionato:

sc stop "MsDepSvc" 
sc config "MsDepSvc" start= disabled 

5

Questo può essere facilmente risolto seguendo questi cinque passaggi:

  1. Servizi aperti
  2. Fare clic con il tasto destro del mouse sul servizio di pubblicazione sul World Wide Web
  3. Fai clic su STOP

Per prevenire questo problema in futuro:

  1. Vai a Proprietà
  2. Cambia il tipo di avvio in manuale

Viola sei a posto!


1
Esattamente quello di cui ho bisogno. Grazie.
Dang Cong Duong,

4

Ho appena avuto questo problema oggi, dal momento che è apparso dopo che Norton ha richiesto il riavvio, ho dato la colpa a Norton.
Ma non era Norton, ho rimosso Norton, riavviato -> problema ancora presente.

netstat -nao stava dimostrando che PID 4 possedeva la mia connessione alla porta 80.

Sono quindi andato al pannello di controllo, quindi "Attiva o disattiva le funzionalità di Windows", quindi deselezionato Internet Information Services.
Riavviato, il problema è scomparso.
Il mio server xampp funziona correttamente ora.

Non ricordo mai di aver acceso IIS in primo luogo. Avevo corso molti mesi prima che questo accadesse. Ancora non so cosa l'abbia causato in primo luogo. Forse un precedente Windows aggiornato abilitato IIS e il mio riavvio lo ha attivato, non lo so.


4

Questo processo funziona per me:

  1. Fare clic con il tasto destro su Risorse del computer.
  2. Seleziona Gestisci.
  3. Fare doppio clic su Servizi e applicazioni.
  4. Quindi fare doppio clic su Servizi.
  5. Fare clic destro su "Servizio di pubblicazione sul Web".
  6. Seleziona Stop
  7. Riavvia XAMPP

3

Ho avuto lo stesso identico problema, tranne per il fatto che non ho mai usato IIS. Mentre correggevo un altro bug di sistema, avevo impostato il servizio apache su avvio manuale, sperando di ridurre la complessità del mio sistema. Dopo aver corretto l'altro bug, apache non si avviava. Ho perso tempo per un po ', ma è bastato riportare apache all'avvio automatico: Start> Strumenti di amministrazione> Servizi.

Apparentemente quando Apache si avvia in questo modo, rivendica la porta 80 prima che il processo SYSTEM possa farlo.

hth qualcuno. tutta la mia ricerca su Google ha mostrato "non posso avere IIS e Apache sulla stessa macchina". questo è per l'altro uno percento di noi.


2

Prova netstat -b, che si spera possa far luce sulla situazione (mostrando quale .exe sta usando la porta). In bocca al lupo.


non è stato nemmeno mostrato in netstat -b, strano, ma comunque l'ho risolto, cerca l'aggiornamento.
GiH,

-1 PID di 4 inutili. C: \ blah> netstat -abon | di più "Active Connections TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 4 Can not obtain ownership information" e dopo aver fatto clic su "mostra i processi di tutti gli utenti" nel task manager di Windows 7, il task manager elenca "Sistema" per PID di 4.
barlop

2

Per me ha funzionato dopo aver interrotto il servizio Web Deployment Agent.


2

Se usi il prodotto Razer e installi il software Razer Synapse sul tuo PC, blocca anche la porta 80.

Non è incluso nel netstatcomando, quindi non sono in grado di risolverlo. Dato che ci sono molti servizi inclusi nel software, non riesco ad analizzare quale blocca la porta. Dopo aver disinstallato Razer Synapse, posso riavviare il server Apache su Windows 10.


Grazie, credo sia il server Razer Chroma SDK. L'ho disabilitato in msconfig e questo ha risolto il problema per me!
Stefan,

1

Questo non spiegherebbe il lato PID delle cose, ma se si esegue Skype, gli piace usare Port 80 per qualche motivo.


Sto affrontando lo stesso problema, la porta 80 è acquisita da NT Kernal. Ma quando eseguo Apache sulla porta 80, lo fa (quando configurato come servizio run-on-startup). Ma quando arresto Apache e provo a eseguire Tomcat sulla porta 80, Windows 7 non lo consente. Il kernel NT o Skype non dovrebbero usare la porta standard del server web.
Asif Shahzad,

puoi cambiare le porte predefinite di skype dalle sue impostazioni "Connessione"
Zee

1

Nel mio caso, è successo dopo aver installato Microsoft Web Matrix. La disinstallazione di questo cestino insieme a "Microsoft Web Deploy" ha risolto il problema.


1

Stavo cercando PID 4 e sono arrivato a questa domanda. Da questa risposta e da un post sul blog ho capito che qualcosa a che fare con PID 4 è probabilmente un servizio Windows, quindi potresti voler cercare i servizi pertinenti in services.msc.

Inoltre, questo processo viene eseguito dal sistema, che viene considerato un altro utente "connesso".


1

Ho avuto lo stesso problema ed è stato a causa di IIS in esecuzione sul server, è possibile interromperlo utilizzando Gestione IIS se è il caso per te.



1

Ho interrotto il servizio di pubblicazione sul World Wide Web e poi ha funzionato.


1

Nessuno di questi ha funzionato per me. Ho dovuto andare a una domanda SuperUser .

Se si tratta di un processo di sistema, PID 4, è necessario disabilitare il driver HTTP.sys che viene avviato su richiesta da un altro servizio, come Gestione remota di Windows o Spooler di stampa su Windows 7 o 2008.

Esistono due modi per disabilitarlo, ma il primo è più sicuro:

    • Vai a Gestione dispositivi, seleziona "mostra dispositivi nascosti" dal menu / vista, vai a "Driver non plug-and-play" / HTTP, fai doppio clic per disabilitarlo (o impostalo su manuale, alcuni servizi dipendono da esso).

    • Riavviare e utilizzare netstat -nao | find ":80"per verificare se 80 è ancora utilizzato.

Questo è quello che ha funzionato per me!


Potresti voler aggiungere il secondo modo più pericoloso per disabilitarlo, per completezza.
acqua ghiacciata


0

Per me ho dovuto disinstallare "Citrix Virtual Desktop Agent" sulla mia VM


GoToMeeting è anche CitrixOnline, basta disinstallarlo
KingRider,

0

PID = 4 non viene visualizzato in Task Manager anche dopo aver messo il segno di spunta su "Mostra processi da tutti gli utenti". Bene c'è solo un utente.

Tuttavia, netstat -b mostra più connessioni posizionate sullo stesso PID = 4 che su questo computer visualizzava quanto segue.

inserisci qui la descrizione dell'immagine

Ho scelto solo quelli relativi al protocollo TCP.

Questo è stato acquisito durante la risoluzione dei problemi di IIS che non è iniziato dopo aver provato molti altri. Non credo che dovresti interrompere questo processo.


0

genere netstat -a -n -b -o |more

se fermarsi World Wide Web Publishing Serviceaiuta

quindi in Gestione IIS rivedere le impostazioni di associazione di ciascun sito , selezionando un sito e nel pannello laterale fare clic su associazione. quindi cambiare la porta 80 in qualcos'altro, se necessario.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.