繁体   English   中英

如何在操作系统中给java进程一个名字(java除外)

[英]How to give the java process a name in the operating system (other than java)

我正在尝试一些微服务并在我的笔记本电脑上运行它们,只需为每个微服务分配一个新端口。 问题是我想重新启动其中一个,我必须将它们全部关闭,因为在操作系统中,这些进程都称为 java。 虽然我有时可以猜测最后一个开始的 pid 等不是一个安全的赌注......

那么,有没有办法启动一个 java 应用程序并在操作系统中为其分配一个名称? 也许像

java --Dos.name MyFirstService -jar MyJar.jar.

在Windows下,你不能(除非安装某种posix子系统)。

在Linux下,您可以使用带有-a "newName"选项的exec命令来为您希望生成的进程设置别名。

喜欢

exec -a "myJar" /path/to/java -jar /path/to/jar.jar

如果您需要能够区分不同的java程序,可以使用jps命令,该命令为您提供所有Java进程的列表并运行您的程序

java -Dname=myFirstService -cp  myFirstService.jar some.client.main.MyFirstService

然后,如果你这样做:

jps -v

您将正确地看到您的过程。

如果您需要在操作系统级别更改进程名称,我建议您使用http://launch4j.sourceforge.net/

java -jar /full/path/to/hello.jar

然后jps命令将显示

hello.jar

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM