2009-07-20 138 views
16

我注意到当我启动Netbeans时,它在任务管理器中显示为netbeans.exe,因为我所有的Java应用程序显示为java.exejavaw.exe我如何给我的Java应用程序一个独特的进程名称?

我该如何改变,以便我的进程名称显示为myapp.exe

+0

我问了一个类似的问题:http://stackoverflow.com/questions/1057247/how-can-i-set-the-process-name-for-a-java-program – Mnementh 2009-07-20 08:45:38

回答

17

进程名称是JVM的名称。所以如果你重命名jvm,你有另一个进程名称。有一些工具可以为你做到这一点。例如Launch4J

5

Netbeans和Eclipse都带有一个.exe文件,该文件依次启动一个JVM。启动虚拟机后,exe文件可能没有任何作用。我怀疑,你也可以在任务管理器中看到NetBeans javaw.exe。

所以你需要编写一个原生的exe(使用一些Windows工具),做一个类似的事情。

+0

我相信javaw.exe也是Eclipse的启动器。 – 2009-07-20 19:15:43

7

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

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

+0

我已经完成了这个与我用来运行eclipse的java.exe - 然后我可以很容易地发现是否eclipse是咀嚼资源,还是我的程序。 – RodeoClown 2009-07-21 05:08:06

+0

一个拷贝java.exe。但是,如何更改进程名称? – Yster 2016-10-10 07:54:23

9

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

我对谷歌短暂的搜索后编译它们的列表(没有特定的顺序,可能不是全部):

(全面披露:我对winrun4j工作)

0

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

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

我们所需要做的就是将prunsrv.exe重命名为OurApp.exe,并将安装|开始|停止|卸载服务脚本中的所有prunsrv.exe替换为MyApp.exe。

查看更多从Using Apache Procrun to Rename Process Name of a Java Program in Windows

相关问题