Sto installando hadoop sul mio sistema Ubuntu. Quando lo avvio, segnala che la porta 9000 è occupata.
Ho usato:
netstat -nlp|grep 9000
per vedere se esiste una tale porta e ho ottenuto questo:
   tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN
Ma come posso ottenere il PID del processo che lo contiene?
Risposta accettata:
Il tuo comando esistente non funziona perché Linux richiede che tu sia root o il proprietario del processo per ottenere le informazioni desiderate.
 Sui sistemi moderni, ss è lo strumento appropriato da utilizzare per ottenere queste informazioni:
$ sudo ss -lptn 'sport = :80'
State   Local Address:Port  Peer Address:Port              
LISTEN  127.0.0.1:80        *:*                users:(("nginx",pid=125004,fd=12))
LISTEN  ::1:80              :::*               users:(("nginx",pid=125004,fd=11))
 Puoi anche utilizzare la stessa chiamata che stai attualmente utilizzando, ma devi prima elevare con sudo :
$ sudo netstat -nlp | grep :80
tcp  0  0  0.0.0.0:80  0.0.0.0:*  LISTEN  125004/nginx
Puoi anche usare lsof:
$ sudo lsof -n -i :80 | grep LISTEN
nginx   125004 nginx    3u  IPv4   6645      0t0  TCP 0.0.0.0:80 (LISTEN)