记录SpringBoot应用启动后的进程id

记录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

QSCZVS4DDZ8N(%7DGJ%7BYI)CXW