java 怎么获取当前进程的映像名称
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 怎么获取当前进程的映像名称相关的知识,希望对你有一定的参考价值。
网上查了一些资料,说是没办法直接在 java 中获取到,网上资料说,可以使用 java 的 native 方法,通过在 c++ 中实现 native 方法,此时就可以在 java 中直接调用了。
例子:
public class JavaNative
static
try
System.loadLibrary("JavaNativeDLL.dll");
catch (UnsatisfiedLinkError e)
System.err.println("Native code library failed to load.\n" + e);
public native java.util.List getProcessList();
public native List getProcessIDList();
public native String getProcessName(long processID);
然后,你通过 C++ 写一个 JNI 来实现上面这个 JavaNative 的 Class 类,然后编绎生成出一个 JavaNativeDLL.dll ,然后在 JavaNative 中加载这个 JavaNativeDLL.dll。
这样,你在任何 java 程序中可以像普通 java 调用方法一样,直接使用 JavaNative 来获取到进程名称了。
使用方法:
public static void main(String[] args)
JavaNative jn = new JavaNative();
List list = jn.getProcessIDList();
for(int i=0; i<lilst.size(); i++)
String processName = jn.getProcessName((long)list.get(i));
System.out.println("进程名称是:" + processName );
追问
不会c++ --!
参考技术A 就不告诉你..急死你追问是不知道吧
追答哈哈..这么深奥的问题..我怎么会知道...
在Java中获取当前进程端口
【中文标题】在Java中获取当前进程端口【英文标题】:Get the current process port in Java 【发布时间】:2022-01-22 17:30:52 【问题描述】:为了获取我正在使用的 java 应用程序的进程号:
ManagementFactory.getRuntimeMXBean().getName()
我还需要获取进程使用的当前端口号,但我似乎找不到如何从运行时获取它。
有没有办法做到这一点?
【问题讨论】:
【参考方案1】:默认情况下程序不使用/打开端口。 您(-> 一个程序)需要查询操作系统以获取(免费)端口。 因此,没有通用方法可以查询正在运行的进程的“使用端口”。 也许本教程会对您有所帮助:https://www.baeldung.com/java-free-port
【讨论】:
以上是关于java 怎么获取当前进程的映像名称的主要内容,如果未能解决你的问题,请参考以下文章