Friday 27 July 2018

macos - How to find the process that is running on a given port in OSX


I want to run a web application on my local OSX Lion machine. When I go to http://localhost:8080 there is already a process running so I get the following message:


Status Code: 404

Exception: Request URL / not found.

Stacktrace:

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

How can I find the process that runs on this port under OSX. I found several entries that do the same on Linux but they do not seem to work in OSX.


Thanks a lot.




Update 1: I running the command lsof -i -P | grep 8080 results in the following output


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

But this does not tell me which process is responsible for creating the html output that I get in my browser, when accessing the URL


Update 2: I should mention that I want to install Jenkins CI on my machine and there is already an installation present which seems to have a problem on my machine.



Answer



In a very general way:


sudo lsof -i -P

… will list you all processes running on certain ports. See this answer for more details.




In your special case, Jenkins is already running. This Stack Overflow question has more information: Can not run Jenkins on Mac. The solution seems to be:


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

… which is also related to the similar Stack Overflow question: How to stop Jenkins installed on Mac Snow Leopard?


No comments:

Post a Comment

Where does Skype save my contact's avatars in Linux?

I'm using Skype on Linux. Where can I find images cached by skype of my contact's avatars? Answer I wanted to get those Skype avat...