Essayez :
sudo lsof -n -i :8080 -s TCP:LISTEN
Les deux premières colonnes sont le nom et le PID du ou des processus qui écoutent sur le port 8080.
Utilisez le PID pour le trouver dans Activity Monitor, Get Info, et remarquez quels fichiers sont ouverts. Il y aura un certain nombre de bibliothèques ouvertes, mais le fichier exécutable figurera en tête de liste.
Il est également possible, à partir du nom, de voir à quel service il correspond à l'aide de la fonction
sudo launchctl list | grep theprocessname
Par exemple, si le nom était httpd
la commande ci-dessus vous indique que le nom du service est org.apache.httpd
. Si vous n'obtenez aucun résultat (parce qu'il ne tourne pas en tant que démon), essayez sans sudo
.
Demandez à launchctl plus d'informations sur ce service. Continuons à utiliser Apache comme exemple :
sudo launchctl list org.apache.httpd
vous dirait
{
"LimitLoadToSessionType" = "System";
"Label" = "org.apache.httpd";
"TimeOut" = 30;
"OnDemand" = false;
"LastExitStatus" = 0;
"PID" = 39660;
"Program" = "/usr/sbin/httpd";
"ProgramArguments" = (
"/usr/sbin/httpd";
"-D";
"FOREGROUND";
);
};
Remarquez la ligne "Programme", qui indique le chemin d'accès à l'exécutable. La plupart de ces informations proviennent de /System/Library/LaunchAgents/org.apache.httpd.plist, qui est le fichier qui indique aux services de lancement quand et comment exécuter le programme.
Votre serveur web, qui écoute sur le port 8080, ne provient pas d'Apple, et ne se trouve donc pas dans /System/Library. Regardez dans /Library/LaunchDaemons, ou peut-être même dans ~/Library/LaunchAgents (s'il ne s'exécute que lorsque vous êtes connecté). (L'écoute sur le port 8080 ne nécessite pas le privilège Root, il pourrait donc s'exécuter en votre nom, bien que cela ait des implications intéressantes en termes de sécurité).
Vous pouvez également consulter les Préférences systèmeUtilisateurs et groupesEléments de connexion. Comme nous ne savons pas comment vous l'avez configuré pour qu'il s'exécute automatiquement, il se peut que vous ne l'ayez pas fait en plaçant un fichier dans l'un des répertoires ...Library/Launch*.