digvijay dubey digvijay dubey - 4 months ago 18
Java Question

How to find the process id of a process running on a port number in java

I am new to java and window as well I want to kill the process which is running on a specific port. let's say 9090.

what I tried

try{
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec("netstat -ano | findstr 9090");

BufferedReader stdInput = new BufferedReader(
new InputStreamReader(proc.getInputStream()));
String s = null;

if ((s = stdInput.readLine()) != null) {
int index=s.lastIndexOf(" ");
String sc=s.substring(index, s.length());

rt.exec("Taskkill /PID" +sc+" /T /F");

}
JOptionPane.showMessageDialog(null, "Server Stopped");
}catch(Exception e){
JOptionPane.showMessageDialog(null, "Something Went wrong with server");
}

Answer Source

This is What you want to do . I hope it will help you.

try{
               Runtime rt = Runtime.getRuntime();
               Process proc = rt.exec("cmd /c netstat -ano | findstr 9090");

               BufferedReader stdInput = new BufferedReader(new
               InputStreamReader(proc.getInputStream()));
               String s = null;
               if ((s = stdInput.readLine()) != null) {
               int index=s.lastIndexOf(" ");
               String sc=s.substring(index, s.length());

               rt.exec("cmd /c Taskkill /PID" +sc+" /T /F");

       }
               JOptionPane.showMessageDialog(null, "Server Stopped");
         }catch(Exception e){
               JOptionPane.showMessageDialog(null, "Something Went wrong with server");
           }