我注意到spring boot在启动过程中在日志中打印了进程ID。现在,我想编写一个脚本使用此pid终止该过程,然后再次启动该应用程序。 Spring Boot是否提供任何API来获取此pid?谢谢!
最佳答案
Spring Boot提供了类ApplicationPidFileWriter
,它将把PID写入文件。您可以通过将其添加为SpringApplication的侦听器来激活它:
SpringApplication springApplication = new SpringApplication(DemoApplication.class);
springApplication.addListeners(new ApplicationPidFileWriter());
springApplication.run(args);
ApplicationPidFileWriter
的构造函数还可以采用具有自定义文件名的String或File
对象。然后,您可以从该文件读取PID,并在脚本中使用它。