如何为Java应用程序提供唯一的进程名称?

时间:2009-07-20 08:34:20

标签: java windows

我注意到,当我启动Netbeans时,它在任务管理器中显示为netbeans.exe,因为我自己的所有Java应用程序都显示为java.exejavaw.exe

如何更改,以便我的流程名称显示为myapp.exe

6 个答案:

答案 0 :(得分:18)

进程名称是JVM的名称。因此,如果重命名jvm,则还有其他进程名称。有一些工具可以帮到你。例如Launch4J

答案 1 :(得分:9)

IMO最好的选择是选择众多开源发射器中的一个。它们都提供了比java.exe和批处理文件更好的部署容器。

我在google上进行了简短的搜索后编制了一个列表(没有特别的顺序,也可能不是详尽无遗的):

(完全披露:我在winrun4j上工作)

答案 2 :(得分:8)

不容易。最简单的方法(但不是很好!)就是简单地复制java.exe(我的系统只有68k,所以也许实用!)

如果您担心识别哪个java进程(例如消耗内存/ CPU等),请使用标准工具jps来识别Java进程

答案 3 :(得分:5)

Netbeans和Eclipse都附带一个.exe文件,该文件依次启动JVM。 exe itaself在启动VM后可能什么都不做。我怀疑,您还可以在任务管理器中看到NetBeans javaw.exe。

所以你需要编写一个本机exe(使用一些windows工具)做类似的事情。

答案 4 :(得分:1)

刚刚在这里回答了这个问题:Get JVM to grow memory demand as needed up to size of VM limit?

它实际上比人们说的更容易很多(但你必须有一个方便的c / c ++编译器)。

答案 5 :(得分:1)

主要有两种方法:一种是已经描述的:使用Launch4j,WinRun4J等工具创建本机Windows启动器。

另一种似乎更好的方法是使用Apache Procrun将java应用程序包装为Windows服务。在安装服务过程中,我们可以为进程提供一个有意义的名称,例如OurApp.exe。

我们需要做的就是将prunsrv.exe重命名为OurApp.exe,并将install-stop | uninstall服务脚本中每次出现的prunsrv.exe替换为MyApp.exe。

Using Apache Procrun to Rename Process Name of a Java Program in Windows

了解详情