I want to check if a port is being used or not. I've used the command: netstat -an | grep <port_no> | grep -i listen
. When I compare its output by running, if(message_port_check.equals(null))
, it always returns null
. How do I know if the port is open or not ?
This is what I've tried,
String port_no = textField_3.getText().toString();
String[] command_port = {
"/bin/sh",
"-c",
"netstat -an | grep " + port_no + " | grep -i listen"
};
try {
ProcessBuilder builder = new ProcessBuilder(command_port);
builder.redirectErrorStream(true);
Process p = builder.start();
BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
StringBuffer buffer = new StringBuffer();
String line = "";
while (true)
{
buffer.append(line).append("\n");
line = r.readLine();
if (line == null) { break; }
}
message_port= buffer.toString();
p.waitFor();
r.close();
}
catch (IOException e1)
{
e1.printStackTrace();
}
catch (InterruptedException e1)
{
e1.printStackTrace();
}
if(message_port_check.equals(null))
rdbtn_port_free.setSelected(true);
else
rdbtn_port_notfree.setSelected(true);