Steps to check whether a process had utilised a port before your application does with windows built in facilities
As a systems analyst, it is inevitable for me to go to windows based computers to check out the applications that I am taking care of. Most of my applications listen to commands via TCP/IP ports in order to do work.
Whenever a user reports that one of such applications is failing on their machine, the first thing that I will check out is whether that application is able to reserve the port that it is supposed to listen to.
Although there are Sysinternal suite of diagnostic tools for me to use, there are client machines does not allow foreign executables to execute on them.
This post details the steps that I take to check out whether there is a port binding issue in the event that my application fail to run in windows based machines.
- Start command prompt. Inside command prompt, type 'netstat –aon'
- Look for the number which my application listen to, after :, and look at the last column for the pid.
- Open up task manager.
- In task manager, go to the processes tab. Look at the PID column. If the column is not available, go to view -> Select Column... and check on the PID option.
- Match the pid to the one that u get from step 2) and look at the process name.
If the process name shown is not my application executable, it will mean that my application had failed to grab hold of the port for it to do work, and I can take steps to bring it up again.
If the process name shown is indeed my application executable, I can continue with the performing other debug procedures for that application.