Question Comment trouver le processus qui s'exécute sur un port donné dans OSX


Je veux exécuter une application Web sur mon ordinateur OSX Lion local. Quand je vais à http: // localhost: 8080 il y a déjà un processus en cours, alors j'obtiens le message suivant:

Status Code: 404

Exception: Request URL / not found.<br><br>
Stacktrace:

Generated by Winstone Servlet Engine v0.9.10 at Wed Nov 30 13:01:15 CET 2011

Comment puis-je trouver le processus qui s'exécute sur ce port sous OSX. J'ai trouvé plusieurs entrées qui font la même chose sous Linux mais elles ne semblent pas fonctionner sous OSX.

Merci beaucoup.


Mise à jour 1: Je lance la commande lsof -i -P | grep 8080 se traduit par la sortie suivante

WebProces 174 petersmith   20u  IPv6 0xffffff80147e6cc0      0t0  TCP localhost:50059->localhost:8080 (ESTABLISHED)

Mais cela ne me dit pas quel processus est responsable de la création de la sortie HTML que j'obtiens dans mon navigateur, lors de l'accès à l'URL.

Mise à jour 2: Je devrais mentionner que je veux installer Jenkins CI sur ma machine et il y a déjà une installation présente qui semble avoir un problème sur ma machine.


4
2017-11-30 12:07


origine


@slhck Je l'ai fait et mis à jour ma réponse, mais cela ne me dit pas quel processus est en cours d'exécution. Avec curiosité lsof -i tcp:8080 ne résulte en rien ... - Besi
@slhck Il semble que vous lisiez dans mes pensées. Votre lien corrige mon problème, si vous publiez une réponse, je l'accepterai volontiers. Merci! - Besi


Réponses:


De manière très générale:

sudo lsof -i -P

... vous listera tous les processus en cours d'exécution sur certains ports. Voir cette réponse pour plus de détails.


Dans votre cas particulier, Jenkins est déjà en cours d'exécution. Cette question de débordement de pile contient plus d'informations: Ne peut pas exécuter Jenkins sur Mac. La solution semble être:

sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

... qui est également lié à la question similaire Stack Overflow: Comment arrêter Jenkins sur Mac Snow Leopard?


9
2017-11-30 13:32



avec curiosité lsof n'a pas révélé que c'était le binaire Jenkins qui "occupait" le port 8080 - Besi
Ah, tu sais pourquoi? Parce que c'est probablement un processus système et que vous devez exécuter sudo lsof. Ma faute. Correction de la réponse! - slhck
Correct, nous y voilà: java 54 jenkins 135u IPv6 0xffffff8014817e80 0t0 TCP *:8080 (LISTEN) - Besi