Problem: A port is being used by some process but the pid of process is not visible
When the process is started by root, other users not in the root group cannot view the process ids. So when you do:
netstat -atnp
You have to run netstat command with sudo, to view all process ids.
sudo netstat -atnp
A scenario I came across is when Apache tomcat was started as a Java service with jsvc command. The daemon.sh was run by the root user, so the process belonged to root.