一般来说,我对bash、redis和linux还比较陌生,在创建脚本时遇到了麻烦。这也是我的第一个问题,希望不是重复。
所以问题是,我正在用ruby创建一个简单的应用程序,用于教育目的,但是我尝试实现的特性使用redis和sidekiq。我想做的是创建一个可执行脚本(我把它命名为server)来启动redis服务器,启动redis,但是它也应该在用户完成sidekiq之后关闭redis。
这就是我想到的:
# !/usr/bin/env sh
set -e
redis-server --daemonize yes
bundle exec sidekiq -r ./a/sample/path/worker.rb
redis-cli shutdown # this is not working, I want to execute this after shutting sidekiq down...
当我运行第四行时,它启动了小sidekiq“欢迎页面”,在我关闭它之前,我什么都做不到 Control + C
. 我假设在用这个命令关闭它之后,它将继续使用我编写的脚本,这将是 redis-cli shutdown
命令。但事实并非如此。当我 Control + C
sidekiq,它只是返回到命令行。
有熟悉这些概念的人能帮我吗?我想要一个脚本,在我完成sidekiq之后也可以关闭redis。
谢谢!
1条答案
按热度按时间wqsoz72f1#
你考虑过用福尔曼吗?
http://blog.daviddollar.org/2011/05/06/introducing-foreman.html
https://github.com/ddollar/foreman