我有一个简单的脚本来尝试启动三个不同的Redis进程,这些进程将监视主/从Redis进程:
# (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。
发布于 2015-07-06 19:35:03
bash提供http://www.tldp.org/LDP/abs/html/x9644.html,这意味着您可以在后台同时运行多个作业。使用&在后台启动一个进程:
redis-sentinel /usr/local/redis/sentinel-26379.conf &
redis-sentinel /usr/local/redis/sentinel-26380.conf &
redis-sentinel /usr/local/redis/sentinel-26381.conf &如果你打字
jobs你会得到一张运行作业的列表。请注意,所有作业都会将它们的输出写入同一个终端。我想这就是你真正想要的。
如果您真的想在不同的窗口中启动这些进程,您需要从脚本启动三个终端,并将redis-sentinel命令设置为它们的初始命令。我不知道OSX上的iTerm,但我几乎100%肯定它提供了这样的功能。对于gnome终端来说,它应该是这样的:
gnome-terminal -e 'redis-sentinel /usr/local/redis/sentinel-26379.conf' &检查手册页以获得iTerm的正确选项。
https://stackoverflow.com/questions/31253983
复制相似问题