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);