项目场景:
通过Elk处理日志,filebeat来收集多台服务器的日志
问题描述:
通过后台启动命令来启动filebeat,第二天早上发现filebeat自动关闭
启动命令如下:
nohup ./filebeat -e -c filebeat.yml &
原因分析:
在当shell中执行nohup成功后,还需要按终端上键盘任意键退回到shell输入命令窗口,然后通过在shell中输入exit来退出终端;如果在nohup执行成功后直接点关闭程序按钮关闭终端的话,这时候会断掉该命令所对应的session,导致nohup对应的进程被通知需要一起shutdown,起不到关掉终端后调用程序继续后台运行的作用。
解决方案:
通过exit命令退出shell客户端。
[root@aplid ~]# ps -ef|grep filebeat
root 2677 1 0 07:27 ? 00:00:00 ./filebeat -e -c filebeat.yml
root 2766 2729 0 07:28 pts/2 00:00:00 grep --color=auto filebeat
[root@aplid ~]# exit