一个平常的下午

前2天的一个下午,准备好好写点代码。最后curd的事情较多!

一个同事来找我看个问题,说搞了快一天。

起身去看下,顺道当放松一下坐久了的身体,最近因为疫情,球场关闭,跑步少了,体重上涨不少,肚子也大了些

一个奇怪的问题

问题是这样的,系统一个请求一直报错,是读取一个配置失败,查了下日志,跟代码又对不上。

查了配置文件,也没有对应的配置。

我怀疑是部署的版本不对,让他部署最新的版本,重新部署一把。

发现打出的jar包的确是更新了,但是请求还是不对,这就有点奇怪了。

后来查了下进行信息

ps -ef | grep java

发现,对应的java进程,还是原来的,再新部署的时候并没有重新启动。

这就可以解释,为什么部署了新代码,系统却没有生效了。因为jar包更新了,但是进程还是原来的,没有重新加载启动,运行的还是老版本的代码。

遂开始排查为什么应用没有重新启动。

后来一个同事发现,该进行并不是部署用户启动的,而是root...
原来有一个骚操作,有人用root去手工启停了该应用,导致部署脚本执行的时候,根据不能kill掉该进行,也无法重新启动了。

都是操作不规范惹的祸

再现一下

 

现在这个程序用root用户启动了

harmonyOS 请求更新UI 已请求更新没反应_java

 现在新建一个xxl-job用户

useradd xxl-job

并用这个用户去kill掉xxl-job这个java进程

harmonyOS 请求更新UI 已请求更新没反应_harmonyOS 请求更新UI_02

会发现在根本kill不掉,但是在启动脚本里面,一般会使用/dev/null输出,所以也查不到启动日志了。。。