首页 文章 记录一次nohup后台运行造成的悲剧
记录一次nohup后台运行造成的悲剧
编辑时间:2022-12-25 02:43:14 作者:dashizi 浏览量:283

自己码了一年多的游戏终于开始上线做测试了。

这一次是真的彻彻底底的把服务器重构了。

完全抛弃了之前的C++/Lua,全部用golang弄的,不过服务端这块逻辑目前不复杂,也没有太深究,基本上够用就好。

然后连后台守护进程这块也没处理,一直都是nohup &的方式来后台运行的。

线上跑了一天,突然玩家群里各种反馈登录不上了,好巧不巧,居家办公一个多星期,这个点正好在医院。

赶紧拿出手机远程上去先把服务器拉起了。

凌晨1点多到家,赶紧先排查服务器,因为之前golang的程序自己测试跑了都1年多了,完全没宕机过,这次难道是正式线上测试有个几百玩家就崩了?

赶紧把core dump都打开,依照有宕机第一次就肯定有第二次的原则,打算人肉等着core的出现。

准备下线睡觉的时候,突然一想要不还是先排查下日志看看是不是有点什么线索。

不看还好,一看果然发现了猫腻,在var/log/messages里边,服务器宕机的同一个时间点有一条:

systemd-logind: Removed session 2447

卧槽?这是啥,这个时间点我貌似没有ssh啊

一顿操作一顿搜索,突然想起上一次服务器启动好像用的是单位的打包机器。

然后一查nohup,原来正常使用exit 退出ssh远程nohup &是能正常保留的,但是如果没正常关闭,比如自动休眠之类的关闭,就可能一起跟着关了。。。。


来说两句吧
最新评论