Ich installiere Hadoop auf meinem Ubuntu-System. Wenn ich es starte, meldet es, dass Port 9000 besetzt ist.
Ich habe verwendet:
netstat -nlp|grep 9000
um zu sehen, ob ein solcher Port existiert, und ich habe Folgendes erhalten:
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
Aber wie bekomme ich die PID des Prozesses, der sie enthält?
Akzeptierte Antwort:
Ihr vorhandener Befehl funktioniert nicht, weil Linux erfordert, dass Sie entweder root oder der Eigentümer des Prozesses sind, um die gewünschten Informationen zu erhalten.
Auf modernen Systemen ss
ist das geeignete Tool, um diese Informationen zu erhalten:
$ 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))
Sie können auch denselben Aufruf verwenden, den Sie gerade verwenden, aber Sie müssen zuerst mit sudo
erhöhen :
$ sudo netstat -nlp | grep :80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 125004/nginx
Sie können auch lsof:
verwenden$ sudo lsof -n -i :80 | grep LISTEN
nginx 125004 nginx 3u IPv4 6645 0t0 TCP 0.0.0.0:80 (LISTEN)