Cosa usare come alternativa a "fuser -v -n tcp" su Mac OS X.


10

Il comando del fusore su Mac OS X è piuttosto primitivo e non può controllare i processi in ascolto su una porta specifica. Qualcuno conosce una buona alternativa? È sufficiente sapere quale processo è in ascolto su quella porta.


1
Provasudo lsof -i -P
vcsjones il

Ho avuto l'impressione che lsof` funzioni solo quando un'attività si collega effettivamente alla porta. Inoltre uno avrebbe bisogno di almeno un | grep portnoper ottenere un risultato significativo.
Martin,

Risposte:


14

Come ha detto @vcsjones nei commenti, lsofè lo strumento per questo:

$ sudo lsof -i tcp:80
COMMAND PID   USER   FD   TYPE     DEVICE SIZE/OFF NODE NAME
Safari  804 gordon   16u  IPv4 0x05a2cec8      0t0  TCP 192.168.6.3:50542->stackoverflow.com:http (ESTABLISHED)
httpd   874   root    3u  IPv6 0x05a2a940      0t0  TCP *:http (LISTEN)
httpd   878   _www    3u  IPv6 0x05a2a940      0t0  TCP *:http (LISTEN)

Senza il -i, mostra tutti i file aperti; con solo -imostra solo i file di rete; se si specifica qualcosa dopo il -iè possibile limitare da uno o tutti: IPv4 / 6, TCP / UDP, nome host o IP e numero porta / nome servizio.


2
Nel caso in cui sia utile per qualcuno come me che cerca di uccidere ciecamente tutti i processi usando una determinata porta: lsof -i tcp:5000 | grep LISTEN | awk '{print $2}' | xargs killuccide tutti i processi in ascolto sulla porta 5000
JeremyKun,
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.