Question Trouver le processus qui utilise un certain port sous Linux


Je voudrais pouvoir savoir quel processus utilise actuellement un certain port sous Linux. Est-ce qu'il y a un moyen de faire ça?


127
2017-09-17 18:52


origine


Sous Windows, la commande est la suivante: netstat -anb - djangofan


Réponses:


Vous avez plusieurs options:

lsof -i tcp:80

vous donnera la liste des processus utilisant le port TCP 80.

Alternativement,

sudo netstat -nlp

vous donnera toutes les connexions réseau ouvertes.


130
2017-09-17 19:03



lsof -i | grep {username} est également très utile, à savoir lsof -i | grep apache - LawrenceC
@nagul: Vous êtes un héros. - Abe Petrillo
Pour quiconque se demande, -n : ne pas résoudre les noms, -l : afficher les prises du serveur d'écoute, -p : affiche le nom du programme PID / pour les sockets. - yellavon
J'ajoute habituellement -P à lsof -i tcp:$PORTNUMBER pour que le port me soit imprimé sous forme de numéro. - js.


netstat -lp

9
2017-09-17 18:54



sur mac vous devez ajouter une option de protocole à -p. donc quelque chose comme: netstat -lp tcp. - vrish88
Sur linux, -p liste le processus possédant le socket. - Jürgen Strobel


J'utilise "CentOS 7 minimal" qui n'a ni netstat ni lsof. Mais beaucoup de distributions Linux ont la commande de statistiques de socket (c'est-à-dire ss).

Voici un exemple d'exécution:

# ss -tanp | grep 6379
LISTEN   0    128  127.0.0.1:6379   *:*   users:(("redis-server",pid=2531,fd=4))

6
2017-10-29 20:54





Sous Linux, pour trouver un processus exécuté sur un port, procédez comme suit:

lsof -i :<port_number>

Exemple:

lsof -i :8080

2
2018-01-05 19:06



Merci d'avoir essayé d'aider. Cette commande a été mentionnée dans la réponse acceptée. Si vous avez quelque chose de nouveau, veuillez modifier votre message. - Ben N