如何通过Windows cmd后台隐藏运行Elasticsearch与Kibana?
可行解决方案
方案1:将Elasticsearch、Kibana配置为Windows系统服务(最推荐,稳定无窗口)
- Elasticsearch自带服务注册工具,进入ES的bin目录,以管理员身份打开cmd,执行
elasticsearch-service.bat install,安装完成后执行elasticsearch-service.bat start,后续服务会在系统启动时自动后台运行,无控制台窗口。 - Kibana 7.0+版本同样自带服务注册脚本,进入Kibana的bin目录,执行
kibana-service.bat install即可完成注册,启动后无窗口运行。如果是更低版本的Kibana,可以借助开源工具NSSM封装成服务:下载NSSM后进入对应架构的目录,管理员身份执行nssm install Kibana,在弹出的窗口中选中Kibana的bin目录下的kibana.bat,点击确定即可完成服务注册。 - 后续可以在Windows服务管理器(运行输入
services.msc打开)中调整两个服务的启动类型为自动,实现开机自启,全程无任何控制台窗口弹出。
方案2:通过VBS脚本隐藏启动批处理(无需额外工具,操作简单)
不需要掌握PowerShell,只需要新建一个后缀为.vbs的脚本文件,写入以下内容即可:
Set WshShell = CreateObject("WScript.Shell") WshShell.Run "你的批处理文件完整路径.bat", 0, False
其中第二个参数0就是代表隐藏窗口运行,后续直接双击这个vbs文件就能后台启动批处理里的ES和Kibana,不会弹出控制台窗口。
注意:批处理文件里要写全ES和Kibana启动脚本的绝对路径,避免路径错误启动失败
方案3:通过Windows计划任务配置后台启动
- 打开Windows任务计划程序,选择「创建基本任务」,设置触发器为计算机启动时或者当前用户登录时
- 操作选择「启动程序」,程序或脚本选中你写好的启动ES和Kibana的.bat批处理文件
- 在任务的「常规」设置页,勾选不管用户是否登录都要运行、隐藏两个选项,安全选项里配置为使用系统管理员账户运行,保存任务即可
- 后续任务触发时会自动后台运行批处理,不会弹出任何可见窗口。
内容的提问来源于stack exchange,提问作者Adrion Katon
相关产品推荐
相关产品推荐

