Je suis sur un ordinateur portable OS X Mountain Lion et j'ai quelques boîtes Vagrant dessus. J'essaie de comprendre quel processus écoute sur le port 8080. Mes variations produisent comme une centaine de lignes mais aucune avec un numéro de port spécifique. Je suppose quelque chose comme:
netstat -XXX | grep 8080
networking
macos
netstat
timpone
la source
la source
Réponses:
Malheureusement, sur OSX, vous êtes coincé avec le BSD
netstat
qui ne vous montrera pas l'ID de processus attaché à un port donné. Ce que vous devez faire, c'est utiliserlsof
. La syntaxe que vous devrez utiliser est:Cela imprimera des quantités d'informations, dont la plupart ne vous intéressent pas, mais les champs sont bien étiquetés. Par exemple, consultez cet exemple de sortie.
Cela m'indique que le port 53237 est utilisé par l'ID de processus 927. Lorsque vous lisez le champ COMMAND, gardez à l'esprit que cette sortie est tronquée, en réalité le nom complet du binaire est GoogleTalkPlugin.
la source
VBoxHeadl
- y a-t-il un moyen de voir quelle instance VirtualBox (en avoir deux en ce moment) ou est-ce que je demande beaucoup trop (probablement ce dernier). thxlsof -p PID
et parcourir la liste des fichiers ouverts jusqu'à ce que vous la trouviez.C'est ce que j'aime utiliser lors de la recherche du PID d'un port d'écoute. Pour une utilisation Linux:
netstat -tunlp
Des informations supplémentaires peuvent être trouvées dans les pages de manuel.
la source
-p
ne répertorie pas les arguments du programme. Comment est-ce que je vois ça?-p
sur OSX estport
. Je déteste les décisions des développeurs de faire des arguments différents pour OSX et Linux ...J'étais en train de modifier
netstat
sur OS X pour fournir cette fonctionnalité et je suis tombé sur le fait que-v
cela vous donnera le pid associé à une socket.la source
-v
augmente le niveau de verbosité et il est documenté. developer.apple.com/library/mac/documentation/Darwin/Reference/…Pour moi, les deux lignes suivantes fonctionnent mieux pour montrer quelles applications ont des ports d'écoute ouverts et tunnel, lsof est entièrement multiplateforme:
la source
Pour découvrir un port spécifique, utilisez la commande netstat ci-dessous
la source
De l'homme netstat
-p, --program Affiche le PID et le nom du programme auquel appartient chaque socket.
Je fais habituellement juste ceci: netstat -antup | grep 8080
la source
-p protocol Show statistics about protocol, which is either a well-known name
-p
affichage du PID est une commande GNU netstat tandis que OSX utilise BSD netstat.-p
ne répertorie pas les arguments du programme. Comment est-ce que je vois ça?-p
sur OSX estport
. Je déteste les décisions des développeurs de faire des arguments différents pour OSX et Linux ...La commande ci-dessous montre la connexion:
Pour visualiser le flux complet en temps réel, vous pouvez utiliser
watch
:la source