J'installe hadoop sur mon système Ubuntu. Lorsque je le démarre, il signale que le port 9000 est occupé.
J'ai utilisé :
netstat -nlp|grep 9000
pour voir si un tel port existe et j'ai ceci :
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
Mais comment puis-je obtenir le PID du processus qui le détient ?
Réponse acceptée :
Votre commande existante ne fonctionne pas car Linux vous oblige à être root ou le propriétaire du processus pour obtenir les informations souhaitées.
Sur les systèmes modernes, ss
est l'outil approprié à utiliser pour obtenir ces informations :
$ 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))
Vous pouvez également utiliser la même invocation que vous utilisez actuellement, mais vous devez d'abord élever avec sudo
:
$ sudo netstat -nlp | grep :80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 125004/nginx
Vous pouvez également utiliser lsof :
$ sudo lsof -n -i :80 | grep LISTEN
nginx 125004 nginx 3u IPv4 6645 0t0 TCP 0.0.0.0:80 (LISTEN)