由于各种原因,我没有将 logstash (7.10.1) 作为服务运行,而是在 bash 脚本中按需调用它:
/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/my_ls.conf &
echo ""
echo "#########################################################"
read -p "Press enter to continue "
它工作得很好,但是当成功创建弹性搜索索引时,它总是暂停:
[INFO ] [[main]-pipeline-manager] javapipeline - Pipeline Java execution initialization time {"seconds"=>1.3}
[INFO ] [[main]-pipeline-manager] javapipeline - Pipeline started {"pipeline.id"=>"main"}
[INFO ] [[main]<file] observingtail - START, creating Discoverer, Watch with file and sincedb collections
[INFO ] [Agent thread] agent - Pipelines running {:count=>1, :running_pipelines=>[:main], :non_running_pipelines=>[]}
[INFO ] [Api Webserver] agent - Successfully started Logstash API endpoint {:port=>9600}
为了让它返回 CLI 提示符,我需要从另一个 SSH 终端运行以下命令:
pkill -f logstash
这当然不方便,我正在寻找一种方法来使 bash 脚本提示“按任意键退出”。
我的问题是,logstash 调用之后的语句(带有&
附加),包括提示read -p "Press enter to continue"
,在 logstash 实际开始工作之前显示,并且 bash 脚本永远不会退出到 CLI 提示符。
当logstash完成索引创建时,使bash脚本提示“按任意键退出”的正确方法是什么?