Warm tip: This article is reproduced from serverfault.com, please click

pid-如何获取 Spring Boot 应用程序的进程 ID

(pid - how to get process id of a spring boot application)

发布于 2016-11-29 10:56:49

我注意到 spring boot 在启动过程中在日志中打印了进程 ID。现在我想编写一个脚本来使用这个 pid 终止这个进程并再次启动应用程序。Spring Boot 是否提供任何 api 来获取此 pid?谢谢!

Questioner
walsh
Viewed
0
9,661 2018-07-24 16:59:25

Spring Boot 提供了 class ApplicationPidFileWriter,然后它将 PID 写入文件。你可以通过将其添加为 SpringApplication 的侦听器来激活它:

SpringApplication springApplication = new SpringApplication(DemoApplication.class);
springApplication.addListeners(new ApplicationPidFileWriter());
springApplication.run(args);

的构造函数ApplicationPidFileWriter也可以采用字符串或File具有自定义文件名对象。然后你可以从该文件中读取 PID 并在你的脚本中使用它。