Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

When I try starting Apache from the XAMPP control panel (Mac OSX Snow Leopard), I get the following error popup and Apache won't start:

/Applications/XAMPP/xamppfiles/bin/apachectl: line 70: ulimit: open files: cannot modify limit: Invalid argument
(48)Address already in use: make_sock: could not bind to address [::]:80

XAMPP was running perfectly 10 minutes earlier. I stopped Apache to add some .conf files and it failed on restart. I removed all the new .conf files (i.e. reverted it to how it was before) but now I get the above message.

EDIT: I've checked AppMonitor and I see the "httpd" processes (one by _www nested within root). Just tried quitting these but they're auto-restarted on new process IDs and it didn't solve the problem.

share|improve this question
I've tried a full reboot and I still get the same error (before starting any Apps). I'd be grateful if someone has an idea how to solve this. –  Paul Masri May 3 '12 at 13:28

2 Answers 2

It's complaining about port 80 already being in use. In scenarios like yours, this is commonly caused by Apache already (or still) running.

As you already noticed, there is still an httpd process running. Make sure to first exit all Apache HTTPD processes and then start it again.

share|improve this answer
Thanks for clarifying what the key issue is. How can I be sure all HTTPD processes have been exited (or killed)? –  Paul Masri Apr 23 '12 at 12:19
Usually, they should properly exit when Apache is stopped (for example by using apachectl). If due to some error, that didn't happen. You can always force them to shut down by using something like sudo killall httpd or sudo killall apache2. –  Oliver Salzburg Apr 23 '12 at 12:26
I tried sudo killall httpd and it killed the process but then recreated it, just as it did when I clicked Quit Process in App Monitor. The httpd process owned by _www is nested within an httpd process owned by root, which in turn is nested within the launchd process owned by root. Perhaps launchd is restarting it each time? –  Paul Masri Apr 23 '12 at 16:13
Also stop using Skype. Skype uses port 80 –  Sai Jun 19 at 8:22
@Sai Not when you disable it. i.imgur.com/nkJdUy9.png –  Oliver Salzburg Jun 19 at 9:40

This will permentaly disable httpd.

sudo launchctl unload -w /System/Library/LaunchDaemon/org.apache.httpd.plist
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.