问题现象
最近在搞ELK日志分析平台时遇到一个问题,当我用nohup命令启动filebeat进程运行一段时间后会出现filebeat进程宕掉的现象,查看输出日志也没有什么异常。
filebeat启动命令如下
nohup ./filebeat -e -c filebeat_xxx.yml > startxxx.log 2>&1 &
filebeat日志如下所示
日志无异常,像是人为停掉的
解决方法
使用yum安装或RPM包安装
sudo yum install filebeat -y
rpm -ivh filebeat-xxx.rpm
使用yum或RPM包安装方法确实可以解决filebeat自动退出的问题
但在生产环境中一般不建议采用yum安装,下面看第二种解决方法
退出执行nohup命令当前用户终端
以下是我从网上找的关于nohup命令的介绍
在当shell中执行nohup成功后,还需要按终端上键盘任意键退回到shell输入命令窗口,然后通过在shell中输入exit来退出终端;如果在nohup执行成功后直接点关闭程序按钮关闭终端的话,这时候会断掉该命令所对应的session,导致nohup对应的进程被通知需要一起shutdown,起不到关掉终端后调用程序继续后台运行的作用。
我在执行nohup后exit退出当前用户成功地解决了此问题!!!
有相同问题困扰的同学快试试吧!