我注意到spring启动时在日志中打印了进程id。现在,我希望编写一个脚本来使用这个pid来终止这个进程,然后再次启动应用程序。Spring提供了任何api来获得这个pid吗?谢谢!
发布于 2019-06-07 18:10:56
在spring-boot模块中,您可以找到两个类来创建文件,这些文件通常对进程监视很有用:
默认情况下,不会激活这些写入器,但可以启用:
下面是60.1扩展配置部分:
在META/Spring.Factory文件中,您可以激活写入PID文件的监听器,如下面的示例所示:
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输出:
org.springframework.context.ApplicationListener=org.springframework.boot.context.ApplicationPidFileWriter
https://stackoverflow.com/questions/40864111
复制相似问题