这是我的命令
bundle exec rake resque:work QUEUE="*" --trace
我想在我的服务器上运行此命令作为后台进程。
请帮帮我。
答案 0 :(得分:23)
我经常使用的方法是:
nohup bundle exec rake resque:work QUEUE="*" --trace > rake.out 2>&1 &
即使退出shell,这也会使任务继续运行。然后如果我想直接观察跟踪输出,我会这样做:
tail -f rake.out
你可以随时检查rake.out。
如果你需要在完成之前杀死它,你可以使用ps
找到它并杀死pid。
答案 1 :(得分:2)
以防有人在4年后发现这一点,现在捆绑有一种优雅的方式。例如,如果你想在后台运行sidekiq,你可以这样做:
bundle exec sidekiq -e production -d -L ./log/sidekiq.log
-d
守护进程在后台运行,但您还需要使用-L
来提供日志文件,否则Bundler将拒绝在后台运行您的命令(deamonize)。
使用捆绑包版本1.15.4进行测试