出于某种原因,我无法将logstash作为服务运行。 (我有一个5天的发行票,没有触及3个不同站点的弹性/ logstash git和论坛帖子试图修复它,没有运气)。我没关系,现在只想让它从bash脚本运行 从命令行:
cd /opt/logstash
bin/logstash -f [conf_file] > output.txt &
一切正常,在后台运行并输出到output.txt。但是,当我尝试通过bash执行此操作时:
cd /opt/logstash
bin/logstash -f /etc/logstash/conf.d/logstash_es.conf > var/log/logstash/logstashconsole.txt &
logstash在后台启动,但不监听它需要的端口。而且,如果我尝试重新启动,旧的logstash实例不会释放它绑定的端口。
帮助?
答案 0 :(得分:0)
我知道这个问题太老了,无法回答。但是,我的回答将帮助新用户使用 ELK Stack。
你做对了。
cd /opt/logstash
bin/logstash -f [conf_file] > output.txt &
您所要做的就是disown
您的流程。
一种方法是使用内置的 disown shell 从 shell 的作业控制中删除作业:
disown
如果您有多个后台作业,请在命令后包含 % 和作业 ID:
disown %1
使用 jobs -l
命令确认作业已从活动作业表中删除。要列出所有正在运行的进程,包括被拒绝的进程,请使用 ps aux
命令。