无法在Bash脚本的后台运行Logstash

时间:2015-10-26 19:06:40

标签: linux bash logstash

出于某种原因,我无法将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实例不会释放它绑定的端口。

帮助?

1 个答案:

答案 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 命令。