java代码查看端口占用 java获取端口号

利用java代码如何检测某端口号是否可用

很简单,给你写个例子:

成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、做网站、金川网络推广、成都小程序开发、金川网络营销、金川企业策划、金川品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供金川建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

//检测端口8080到8090哪些可用哪些不可用

for(int i = 8080; i8090; i++){

try {

ServerSocket sskt = new ServerSocket(i);

System.out.println("端口[" +i + "]可用。");

} catch (IOException e) {

System.out.println("端口 [" + i + "] 被占用.");

}

}

如何在Windows下查看JAVA端口占用明细

如需要确定谁占用了9050端口 为例:

1、Windows平台

在windows命令行窗口下执行:

1.查看所有的端口占用情况

C:\netstat -ano

协议 本地地址 外部地址 状态 PID

TCP 127.0.0.1:1434 0.0.0.0:0 LISTENING 3236

TCP 127.0.0.1:5679 0.0.0.0:0 LISTENING 4168

TCP 127.0.0.1:7438 0.0.0.0:0 LISTENING 4168

TCP 127.0.0.1:8015 0.0.0.0:0 LISTENING 1456

TCP 192.168.3.230:139 0.0.0.0:0 LISTENING 4

TCP 192.168.3.230:1957 220.181.31.225:443 ESTABLISHED 3068

TCP 192.168.3.230:2020 183.62.96.189:1522 ESTABLISHED 1456

TCP 192.168.3.230:2927 117.79.91.18:80 ESTABLISHED 4732

TCP 192.168.3.230:2929 117.79.91.18:80 ESTABLISHED 4732

TCP 192.168.3.230:2930 117.79.91.18:80 ESTABLISHED 4732

TCP 192.168.3.230:2931 117.79.91.18:80 ESTABLISHED 4732

2.查看指定端口的占用情况

C:\netstat -aon|findstr "9050"

协议 本地地址 外部地址 状态 PID

TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016

P: 看到了吗,端口被进程号为2016的进程占用,继续执行下面命令: (也可以去任务管理器中查看pid对应的进程)

3.查看PID对应的进程

C:\tasklist|findstr "2016"

映像名称 PID 会话名 会话# 内存使用

tor.exe 2016 Console 0 16,064 K

P:很清楚吧,tor占用了端口。

4.结束该进程

C:\taskkill /f /t /im tor.exe

如何查看端口被是否被占用?

在搭建web平台的时候,好多会遇到某个端口被占用的情况,如果想查看是哪个程序占用某一个端口,好结束掉,或者想看看其他开放的端口,则可以用下面的方法(命令用红色字体):

查看端口状态:

在开始——运行中输入cmd,在命令行窗口输入 netstat -an ;看到后面为Listening的端口就是开放的端口,如果要查看跟多信息,可以输入 netstat --help;查看帮助。

查看某一个端口被哪个程序占用:

方法一:

1.在开始--运行 里面输入cmd点回车,会出现运行窗口。

2.在提示符后输入netstat -ano回车,找到tcp 80端口对应的pid,比如1484.

3.ctrl+alt+del打开任务管理器,选进程,这里有很多正在运行的程序怎么找?别急点上面的 查看--选择列--在PID(进程标示符)前面打钩。好了,下面的进程前面都有了PID号码。这时上一步找到的PID就有用了,找到1484,比如PEER.EXE什么的,结束进程吧。这时再开服务器,看WEB可以启动了!

方法二:

在windows命令行窗口下执行:

C:\netstat -aon|findstr "80"

TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448

看到了吗,端口被进程号为2448的进程占用,继续执行下面命令:

C:\tasklist|findstr "2448"

thread.exe 2016 Console 0 16,064 K

很清楚吧,thread占用了你的端口,Kill it

如果第二步查不到,那就开任务管理器,看哪个进程是2448,然后杀之即可。

如果需要查看其他端口。把 80 改掉即可。

被占用的端口如何通过Java代码查出是那个ip占用的

public class TestPort

{

public static void main(String[] args)

{

System.out.println(getPID("3306"));//得到进程ID,3306是端口名称

System.out.println(getProgramName(getPID("3306")));//根据进程ID得到映像名称

killTask(getProgramName(getPID("3306")));//根据映像名称关闭进程

}

// 得到进程ID

public static String getPID(String port){

InputStream is = null;

BufferedReader br = null;

String pid = null;

try

{

String[] args = new String[]{"cmd.exe","/c","netstat -aon|findstr",port};

is = Runtime.getRuntime().exec(args).getInputStream();

br = new BufferedReader(new InputStreamReader(is));

String temp = br.readLine();

if(temp != null){

String[] strs = temp.split("\\s");

pid=strs[strs.length-1];

}

}

catch (IOException e)

{

e.printStackTrace();

}finally{

try

{

br.close();

}

catch (IOException e)

{

e.printStackTrace();

}

}

return pid;

}

//根据进程ID得到映像名称

public static String getProgramName(String pid){

InputStream is = null;

BufferedReader br = null;

String programName = null;

try

{

String[] args = new String[]{"cmd.exe","/c","tasklist|findstr",pid};

is = Runtime.getRuntime().exec(args).getInputStream();

br = new BufferedReader(new InputStreamReader(is));

String temp = br.readLine();

if(temp != null){

String[] strs = temp.split("\\s");

programName=strs[0];

}

}

catch (IOException e)

{

e.printStackTrace();

}finally{

try

{

br.close();

}

catch (IOException e)

{

e.printStackTrace();

}

}

return programName;

}

//根据映像名称关闭进程

public static void killTask(String programName){

String[] args = new String[]{"Taskkill","/f","/IM",programName};

try

{

Runtime.getRuntime().exec(args);

}

catch (IOException e)

{

e.printStackTrace();

}

}

}

//题主自己看看具体怎么get它的ip地址,好久没有写,不知道了


网站题目:java代码查看端口占用 java获取端口号
文章位置:http://myzitong.com/article/ddchsdp.html