记录SpringBoot应用启动后的进程id
springboot启动后,需要记录下它的进程id。以便运维使用(监控,停止)
ApplicationPidFileWriter
由springboot提供的一个监听器,很简单。只需要在启动springboot应用的时候,把该监听器实例添加到
SpringApplication
SpringApplication springApplication = new SpringApplication(MyApplication.class);
springApplication.addListeners(new ApplicationPidFileWriter());
springApplication.run(args);
通过yaml配置
spring:
pid:
file: D://app.pid
fail-on-write-error: true
file
写入pid的文件
fail-on-write-error
当无法写入pid文件的时候,是否抛出异常
也可以通过Linux的特殊shell变量获取到pid
特殊变量
$!
是Shell最后运行的后台Process的pid
nohup java -jar app.jar > app.log 2 >&1 & echo $! > /var/run/app.pid