最近因为工作原因接手了另外一个项目组。刚过来就遇到了一个生产运维反馈的问题,环境莫名其妙的断掉。启动了之后,过几个小时或者十几个小时就会断掉。很诡异的一个情况。上去看了下,weblogic进程是没有了。也没看出来是什么问题。就把日志拿下来看了下,日志报错大概如下:
<Notice> <WebLogicServer><BEA-000388> <JVM called WLS shutdown hook. The server will force shutdown now>
<Alert> <WebLogicServer> <BEA-000396> <Server shutdown has been requested by <WLS Kernel>>
<Notice> <WebLogicServer> <BEA-000365> <Server state changed to FORCE_SHUTTING_DOWN>
大概可以知道是weblogic去自动关闭的。至于什么东东触发了这个机制就不知道了。 上网上查了一下,也没有怎么闹明白是什么问题。按照修改JAVA_OPTIONS的方式改了下,没有什么效果。
后来,是发现生产上的日志打印的停止时间点都是在下午6点左右。而6点是午饭时间。感觉搞不好跟这个时间点有问题。后面没头绪上生产看运维重启了下。发现重启之后并没有日志打印在nohup上面。于是,测试了下启动方式。果然,就是这个问题。
使用xshell来远程连接并使用命令行 ./startWebLogic.sh 重启后,当关闭了xshell后,进程会被同样关掉。 正确的方式是使用命令行nohup ./startWebLogic.sh来启动。 这样,当关闭了xshell后,进程不会被关掉。 好像还可以使用 ./startWebLogic.sh & 来启动。运维人员每天到饭点左右关闭xshell,导致了这个莫名其妙关闭的问题。 我去查了下项目的运维文档,里面写的启动方式就是使用 ./startWebLogic.sh来重启的。不明白为什么以前没这个问题。