我正在尝试使用脚本启动elasticsearch实例,然后启动kibana实例(需要等到ES启动)。我不能只做./bin/elasticseach && ./bin/kibana
或类似的事情,因为第一个脚本在前台运行,这意味着第二个命令将无法运行。在确保kibana仅在ES启动并运行时才启动的最佳方式是什么?
答案 0 :(得分:1)
如果您无法确定ES何时启动,我只能建议:
./bin/elasticseach & sleep 10 && ./bin/kibana
您必须在什么地方估计要准备多少时间
答案 1 :(得分:0)
假设./bin/elasticsearch
阻塞命令行,直到命令行“ up”,您可以只使用“;”在命令之间逐个运行它们。
./bin/elasticseach; ./bin/kibana
但是由于elasticsearch只是阻塞命令行直到停止,所以您可以做其他事情。您可以像守护程序一样运行它,因此它不会阻塞命令行。 (Here is the documentation about starting and stopping es)
./bin/elasticseach -d -p PID; ./bin/kibana; kill `cat PID`