I have painfully analyzed all of yesterday if I had another apache/web-server instance running, with all of these commands
XAMPP: Another web server daemon is already running
lsof -Pi |grep 8080 returns no results netstat -na |grep 8080 returns no results ps -ef shows no web server processes
Then maybe there's a lockfile lying around that the startup is checking against? Those are typically found under /var/run but don't necessarily have to. At this point I would usually run strace to see what's going on:
strace -e read=all -e write=all -f -o strace.out your_startup_command
Then open up strace.out, search for the "..is already running" string in the output, and starting looking at lines above it to see what is failing.