Procesa, kas bloķē 3000 ostu Mac operētājsistēmā, atrašana (un nogalināšana)

Kā atrast (un nogalināt) procesus, kas klausās/izmanto manus TCP portus? Man ir mac os x.

Dažreiz pēc avārijas vai kādas kļūdas mana rails lietojumprogramma bloķē 3000 portu. Es nevaru to atrast, izmantojot ps -ef...

Veicot

rails server

Es saņemu

Adrese jau tiek izmantota - bind(2) (Errno::EADDRINUSE)

  1. gada atjauninājums:

Lai papildinātu dažas no turpmāk minētajām atbildēm: Pēc kill komandu izpildes var būt nepieciešams izdzēst pid failu rm ~/mypath/myrailsapp/tmp/pids/server.pid

Risinājums
  1. Jūs varat izmēģināt netstat

     netstat -vanp tcp | grep 3000
  2. macOS El Capitan un jaunākām operētājsistēmām (vai ja jūsu netstat neatbalsta -p), izmantojiet lsof.

     sudo lsof -i tcp:3000
  3. Centos 7 lietojiet

     netstat -vanp --tcp | grep 3000
Komentāri (14)

Varat izmantot lsof -i:3000.

Tas ir "Atvērto failu saraksts". Tas parāda procesu sarakstu un to, kādus failus un portus tie izmanto.

Komentāri (2)
lsof -P | grep ':3000' | awk '{print $2}'

Tas dos jums tikai pid, pārbaudīts MacOS operētājsistēmā.

Komentāri (5)