java 进程号 socket获取空闲端口

本文介绍了如何在Java中获取当前进程ID,并利用ServerSocket获取系统空闲端口。同时,提到了Tasklist命令在Windows系统中用于查看进程信息的相关参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 、获取当前进程ID

 

public static long getPID() {
    String processName =
        java.lang.management.ManagementFactory.getRuntimeMXBean().getName();
    return Long.parseLong(processName.split("@")[0]);

}

 

 获取本地IP

  String localIP = serverSocket.getInetAddress().getLocalHost().getHostAddress();
  System.out.println("本机IP "+localIP);

 

2、Tasklist命令

      用来显示运行在本地或远程计算机上的所有进程,带有多个执行参数。
  使用格式
  Tasklist [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]

  参数含义
  /S system 指定连接到的远程系统。
  /U [domain\]user 指定使用哪个用户执行这个命令。
  /P [password] 为指定的用户指定密码。
  /M [module] 列出调用指定的DLL模块的所有进程。如果没有指定模块名,显示每个进程加载的所有模块。
  /SVC 显示每个进程中的服务。
  /V 显示详细信息。
  /FI filter 显示一系列符合筛选器指定的进程。
  /FO format 指定输出格式,有效值:TABLE、LIST、CSV。
  /NH 指定输出中不显示栏目标题。只对TABLE和CSV格式有效。

3、获取系统指定的空闲端口

     需求:在使用ServerSocket服务端时,需要获取得到系统的空闲端口,再将此端口注册到远端的路由上。

     很简单,在初始化ServerSocket的时候指定其端口为0(不指定时使用默认值-1),这样就会返回系统分配的空闲端口了。

   ServerSocket serverSocket =  new ServerSocket(0); //读取空闲的可用端口
   int port = serverSocket.getLocalPort();
   System.out.println("系统分配的端口号 port="+port);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值