Je sais qu'en utilisant la commande:
lsof -i TCP
(ou une variante de paramètres avec lsof), je peux déterminer quel processus est lié à un port particulier. Cela est utile, par exemple, si j'essaie de démarrer quelque chose qui veut se lier à 8080 et qu'un autre utilise déjà ce port, mais je ne sais pas quoi.
Existe-t-il un moyen facile de faire cela sans utiliser lsof? Je passe du temps à travailler sur de nombreux systèmes et lsof n’est souvent pas installé.
networking
process
tcp
lsof
Gilles
la source
la source
netstat -p
ci-dessus est mon vote. regardez aussilsof
.Sous AIX, netstat & rmsock peut être utilisé pour déterminer la liaison de processus:
la source
Un autre outil disponible sous Linux est ss . De la page de manuel ss sur Fedora:
Exemple de sortie ci-dessous - la dernière colonne indique la liaison de processus:
la source
Pour Solaris, vous pouvez utiliser pfiles puis grep par
sockname:
ouport:
.Un échantillon (à partir d' ici ):
la source
Une fois, j’étais confronté à la tentative de déterminer le processus derrière un port particulier (cette fois c’était 8 000). J'ai essayé une variété de lsof et netstat, mais j'ai alors tenté ma chance en essayant de frapper le port via un navigateur ( http: // nom_hôte: 8000 / ). Et voilà, un écran de démarrage m'a salué, et il est devenu évident que le processus était (pour l'enregistrement, c'était Splunk ).
Une dernière pensée: "ps -e -o pid, args" (YMMV) peut parfois indiquer le numéro de port dans la liste des arguments. Grep est votre ami!
la source
telnet hostname 8000
voir si le serveur affiche une bannière. Cependant, cela est surtout utile lorsque le serveur est en cours d'exécution sur une machine sur laquelle vous n'avez pas accès au shell et que la recherche de l'ID de processus n'est pas pertinente.