linux后台执行(nohup)之大坑

问题场景

通过xshell远程登录服务器,然后启动几个后台服务,验证后服务功能都正常,ok!
然后过了一段时间发现服务器有问题,排查之后发现,有一个服务莫名的挂了,通过日志定位到接收到SIGHUP信号,然后挂了!WTF???

问题分析

确认后台运行命令:

nohup ./myserver > myout.log 2>&1 &   

没有问题。
nohup启动服务后,关闭终端,重新登录

netstat -ntlp

服务没了。。。。

解决方案

  1. 临时解决方案:
    nohup执行命令后

    exit

    安全退出。OK,没问题了。

  2. 根本解决方案:在程序中捕捉SIGHUP信号

总结

此坑虽小,可不要贪杯啊!分分钟造成生产事故,顶不住!

参考链接:
https://blog.csdn.net/z_ryan/article/details/80952498

发布了59 篇原创文章 · 获赞 22 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/Martin_chen2/article/details/100034819
今日推荐