Instaluji hadoop na svůj systém Ubuntu. Když jej spustím, hlásí, že port 9000 je zaneprázdněn.
Použil jsem:
netstat -nlp|grep 9000
zjistit, zda takový port existuje, a dostal jsem toto:
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
Ale jak mohu získat PID procesu, který jej drží?
Přijatá odpověď:
Váš stávající příkaz nefunguje, protože Linux vyžaduje, abyste byli root nebo vlastník procesu, abyste získali požadované informace.
Na moderních systémech ss
je vhodným nástrojem k získání těchto informací:
$ 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))
Můžete také použít stejné vyvolání, jaké právě používáte, ale nejprve musíte provést zvýšení pomocí sudo
:
$ sudo netstat -nlp | grep :80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 125004/nginx
Můžete také použít lsof:
$ sudo lsof -n -i :80 | grep LISTEN
nginx 125004 nginx 3u IPv4 6645 0t0 TCP 0.0.0.0:80 (LISTEN)