首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何获取spring引导应用程序的进程id

如何获取spring引导应用程序的进程id
EN

Stack Overflow用户
提问于 2016-11-29 10:56:49
回答 7查看 20K关注 0票数 11

我注意到spring启动时在日志中打印了进程id。现在,我希望编写一个脚本来使用这个pid来终止这个进程,然后再次启动应用程序。Spring提供了任何api来获得这个pid吗?谢谢!

EN

Stack Overflow用户

发布于 2019-06-07 18:10:56

来自第五部分Spring :可生产的特性文档

在spring-boot模块中,您可以找到两个类来创建文件,这些文件通常对进程监视很有用:

  • ApplicationPidFileWriter创建一个包含应用程序PID的文件(默认情况下,在应用程序目录中,文件名为application.pid)。
  • WebServerPortFileWriter创建一个文件(或多个文件),其中包含正在运行的web服务器的端口(默认情况下,在应用程序目录中,文件名为application.port)。

默认情况下,不会激活这些写入器,但可以启用:

  • 通过扩展配置
  • 第60.2节,“以编程方式”

下面是60.1扩展配置部分:

在META/Spring.Factory文件中,您可以激活写入PID文件的监听器,如下面的示例所示:

代码语言:javascript
运行
复制
org.springframework.context.ApplicationListener=\
org.springframework.boot.context.ApplicationPidFileWriter,\
org.springframework.boot.web.context.WebServerPortFileWriter

这使得pid和端口在启动时都能输出。

因此,这个想法相当简单:在spring引导应用程序的src/main/resources/META-INF文件夹中,如果不存在,则创建一个具有前面内容的spring.factories文件,以同时启用两者(pid或端口),或者使用以下方式只启用PID输出:

代码语言:javascript
运行
复制
org.springframework.context.ApplicationListener=org.springframework.boot.context.ApplicationPidFileWriter
票数 1
EN
查看全部 7 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40864111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档