当前位置: 首页 > 面试题库 >

如何在操作系统中为Java进程命名(不是Java)

袁鸿达
2023-03-14
问题内容

我正在玩一些微服务,并在笔记本电脑上运行它们,只需为每个微服务分配一个新端口。问题是我想重新启动其中一个,所以我必须将它们全部关闭,因为在操作系统中,进程都称为java。而且尽管我有时会猜到最后一个启动的pid最高,但这并不是绝对安全的选择…

因此,有没有办法在操作系统中启动Java应用程序并为其分配名称?也许像

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


问题答案:

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

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

然后,如果您执行以下操作:

jps -v

您将正确看到您的过程。

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



 类似资料:
  • 更多面试题总结请看:【面试题】技术面试题汇总 进程是一个拥有资源和执行任务的单元体。进程拥有的资源包括:内存空间中的代码、数据等;I/O 资源;文件;处理机等。 线程是一个执行任务的单元体。线程只拥有处理机,线程之间共享进程的资源,如内存、I/O 等。 对比:   进程 线程 资源 进程是一个拥有资源和执行任务的单元体。 线程是一个执行任务的单元体,不拥有资源,线程之间共享地址空间 切换开销 开销

  • 你能告诉我一种从Java执行进程而不管底层操作系统的方法吗?例如。 上面的行在Windows环境中执行Maven,但我如何在任何操作系统中运行上面的命令? 如果我没有在启动时添加,那么我就无法在windows环境中运行,错误显示尽管maven主页设置正确。

  • 当我运行一个多线程的java程序时,在执行ps -eF | grep program-name时,我只看到一个进程。作为该进程的一部分运行的线程是子进程。在调度方面,操作系统对待单线程和多线程进程是否有所不同?

  • 问题内容: 我正在使用Netbeans 7.1 IDE编写Java 7。从Java 1.7包开始,他们在应用程序中使用了新主题。 我该怎么做才能使应用程序的主题与操作系统中的主题完全相同(即,如果我使用Ubuntu,我希望程序的外观与Ubuntu的外观相同)? 问题答案: 我觉得这对SO来说更是一个问题,但总之,您应该尝试类似的方法:

  • 主要内容:前提条件,面向读者,问题反馈本操作系统教程提供了操作系统的基本和高级概念。我们的操作系统教程是面向初学者,专业人士等来设计的。在完成对每个概念的深入研究之后,编写了本教程。 内容详细描述,并有能力回答您想要了解的大部分内容和问题。该教程还包含基于问题的一些示例,这些问题将帮助您以实际的方式解决问题。 操作系统可以被定义为用户和硬件之间的接口。它为用户提供了一个环境,使用户可以方便快捷地完成任务。 操作系统教程根据其功能(如进

  • 问题内容: 我正在开发一个软件应用程序,该程序可以检查您所安装的软件类型,但是要这样做,我必须知道该操作系统是32位还是64位操作系统。 我尝试了System.getProperty(“ os.arch”); 但是后来我读到,该命令仅向我们显示了JDK / JRE的位,而不是OS本身。如果您能告诉我如何知道所使用的操作系统(Windows 7,Mac OS,Ubuntu等),那简直太棒了。 问题答