[Utility Post] Mikä on käynnissä Port 8000: lla? (Ja kuinka lopettaa se)

TL, dr ...

tappaa -9 $ (lsof -i TCP: 8000 | grep KUUNTA | awk '{print $ 2}')

- - - - -

Matkoissasi olet ehkä tavannut näytön, joka näyttää tältä:

Mitä portissa 8000 on?

Jos mikään muu ilmeinen palvelu ei ole käynnissä, se tarkoittaa todennäköisesti, että sinulla on jotain käyttämässä porttia 8000 daemonina tai taustalla. Tätä voidaan tehdä monella tapaa, mutta alla oleva komento on osoittautunut hyödylliseksi selvitettäessä tarkalleen, mitä tietyssä portissa toimii (ja se toimii karuilla AWS EC2 -tapauksissa!):

$ lsof -i TCP: 8000 | grep KUUNNITTELU

Katso lisätietoja alla olevasta ”lisälukeminen” -osiosta, mutta lsof-komento luetteloi ”avoimet tiedostot” [siis nimi] ja -i-lippu näyttää verkkoyhteydet. Lähetämme TCP: 8000 ja grep sitten levyille, joissa on KUUNNEN (ts. Prosessoi kuuntelu / valmis 8000: lla)

Olemme kiinnostuneimpia toisessa sarakkeessa olevasta numerosta, PID: stä, koska voimme käyttää sitä tappamaan prosessin.

[Varmista 100%, että PID, jonka luulet haluavasi tappaa, todellakin on se, jonka todella haluat tappaa. Tämä voi olla erittäin tuhoisa!]

tappaa dollaria -9 PID_TO_KILL

Hieman hankala yhtenä bangerina voit jopa suorittaa tämän (vaihtaa $ PORTNUM kohdeportin kanssa):

tappaa -9 $ (lsof -i TCP: $ PORTNUM | grep Kuuntele | awk '{print $ 2}')

Tätä varten on paljon tapoja (katso täällä: http://stackoverflow.com/questions/3855127/find-and-kill-process-locking-port-3000-on-mac), mutta tämä nopea ja likainen lähestymistapa saattaa auttaa säästämään jonkun aikaa.

Lisäluotto: Esimerkki

Jos haluat käydä läpi esimerkin porttien lukituksen avaamisesta, katso tämä repo tai kirjoita vaihtoehtoisesti seuraavat komennot:

$ git -klooni https://github.com/valgaze/kill_port_example _tmpkill_port_example && cd _tmpkill_port_example && npm start

Yllä oleva kloonaa repo alas kohtaan _tmpkill_port_example ja käynnistää sitten palvelimen portissa 8000 daemonina (katso paketti.json)

Sitten toisessa pääteistunnossa samassa hakemistossa (_tmpkill_port_example) yritä ajaa seuraava komento nähdäksesi Virhe: kuunnella EADDRINUSE ::: 8000 -virhe:

$ npm suorittaa käynnistyspalvelimen2

Tästä: käytä yllä opittua voidaksesi käynnistää server2 portissa 8000 (josta voit poistua CTRL-C: llä)

Poistumisventtiili, jos todella rikot jotain:

$ npm suorittaa siivouksen

Lisätietoja

http://www.thegeekstuff.com/2012/08/lsof-command-examples