首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >启动Redis哨兵的简单BASH脚本

启动Redis哨兵的简单BASH脚本
EN

Stack Overflow用户
提问于 2015-07-06 19:24:30
回答 1查看 1.5K关注 0票数 1

我有一个简单的脚本来尝试启动三个不同的Redis进程,这些进程将监视主/从Redis进程:

代码语言:javascript
复制
# (attempts to run 3 sentinel processes from one script)
    redis-sentinel /usr/local/redis/sentinel-26379.conf
    redis-sentinel /usr/local/redis/sentinel-26380.conf
    redis-sentinel /usr/local/redis/sentinel-26381.conf
# end

当然,这不会真正启动3个单独的进程--它只会在终端窗口中运行第一个命令,而第二个命令将不会运行。在一个脚本的单独窗口中运行所有3个命令的最好方法是什么?(我还想从相同的脚本中运行一些其他命令,但我想让它简单地举个例子。)

我在Mac上使用iTerm2。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-06 19:35:03

bash提供http://www.tldp.org/LDP/abs/html/x9644.html,这意味着您可以在后台同时运行多个作业。使用&在后台启动一个进程:

代码语言:javascript
复制
redis-sentinel /usr/local/redis/sentinel-26379.conf &
redis-sentinel /usr/local/redis/sentinel-26380.conf &
redis-sentinel /usr/local/redis/sentinel-26381.conf &

如果你打字

代码语言:javascript
复制
jobs

你会得到一张运行作业的列表。请注意,所有作业都会将它们的输出写入同一个终端。我想这就是你真正想要的。

如果您真的想在不同的窗口中启动这些进程,您需要从脚本启动三个终端,并将redis-sentinel命令设置为它们的初始命令。我不知道OSX上的iTerm,但我几乎100%肯定它提供了这样的功能。对于gnome终端来说,它应该是这样的:

代码语言:javascript
复制
 gnome-terminal -e 'redis-sentinel /usr/local/redis/sentinel-26379.conf' &

检查手册页以获得iTerm的正确选项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31253983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档