问题场景
通过xshell远程登录服务器,然后启动几个后台服务,验证后服务功能都正常,ok!
然后过了一段时间发现服务器有问题,排查之后发现,有一个服务莫名的挂了,通过日志定位到接收到SIGHUP信号,然后挂了!WTF???
问题分析
确认后台运行命令:
nohup ./myserver > myout.log 2>&1 &
没有问题。
nohup启动服务后,关闭终端,重新登录
netstat -ntlp
服务没了。。。。
解决方案
-
临时解决方案:
nohup执行命令后exit
安全退出。OK,没问题了。
-
根本解决方案:在程序中捕捉SIGHUP信号
总结
此坑虽小,可不要贪杯啊!分分钟造成生产事故,顶不住!
参考链接:
https://blog.csdn.net/z_ryan/article/details/80952498