[Utility Post] Mis töötab Port 8000-l? (Ja kuidas seda peatada)

tl; dr…

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

- - - - -

Võib-olla olete oma reisidel kohanud ekraani, mis näeb välja järgmine:

Mis on pordil 8000?

Kui ükski teine ​​ilmne teenus ei tööta, tähendab see tõenäoliselt, et teil on midagi, mis kasutab porti 8000 deemonina või taustal. Selleks on palju viise, kuid allolev käsk on osutunud kasulikuks, et teada saada, mis konkreetses pordis töötab (ja see töötab viljatutel AWS EC2 eksemplaridel!):

$ lsof -i TCP: 8000 | grep KUULA

Üksikasjalikuma teabe saamiseks lugege allpool jaotist „Edasine lugemine”, kuid käsk lsof loetleb „avatud failid” [siit ka nimi] ja -i lipp näitab võrguühendusi. Edastame TCP: 8000 ja seejärel grep kirjete jaoks, millel on KUULAMINE (st töötleb kuulamist / on valmis 8000-l)

Meid huvitab kõige rohkem teises veerus olev number PID, sest seda saab kasutada protsessi tapmiseks.

[Veenduge 100% -liselt, et PID, keda arvate, et soovite tappa, on tõepoolest see, mida tõesti soovite tappa. See võib olla väga hävitav!]

$ tappa -9 PID_TO_KILL

Mõnevõrra kohmaka ühe pankurina saate seda isegi käivitada (vahetage oma sihtsadamaga dollar PORTNUM välja):

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

Selle saavutamiseks on palju viise (vt siin: http://stackoverflow.com/questions/3855127/find-and-kill-process-locking-port-3000-on-mac), kuid see kiire ja räpane lähenemine võib aidata kellelgi aega säästa.

Lisakrediit: näide

Kui soovite töötada läbi pordi avamise näite, vaadake seda repot või sisestage ka järgmised käsud:

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

Ülaltoodu kloonib reposse faili _tmpkill_port_example ja käivitab seejärel pordi 8000 serveri deemonina (vt pakett.json)

Seejärel proovige samas kataloogis teises terminalisessioonis (_tmpkill_port_example) käivitada järgmine käsk, et näha tõrget „Tõrge: kuulake EADDRINUSE ::: 8000”:

$ npm käivitage alglaadimisserver2

Siit saate kasutada seda, mida olete juba õppinud, et saaksite serveri 2 käivitada pordil 8000 (millest saate väljuda CTRL-C abil)

Väljapääsuklapp, kui midagi tõesti rikub:

$ npm käituse puhastus

Lisalugemist

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