Вы можете просто:
rails server & rake jobs:work
Он будет работать rails server
как фоновое задание, которое вы можете вернуть на передний план с помощью fg
. Может раздражать, что вы получите смешанный вывод обоих процессов.
Я не уверен, что вам нужно и чего вы ожидаете, но, возможно, вам было бы хорошо использовать screen
(или tmux
), чтобы запускать их параллельно и иметь возможность переключаться между ними.
Вы можете создать свой собственный .screenrc
скрипт, который будет автоматически запускать сервер и любые другие команды.
Есть небольшая проблема: если вы запустите сервер с него и закроете его (ctrl + c), вы потеряете его экранное окно. К счастью, для этого тоже есть решение (разработанное и для SO - вы можете прочитать об этом подробнее здесь)
Итак, я использую для этого .run_screen
вспомогательный скрипт (не забудьте chmod +x
его):
#!/bin/bash
/bin/bash -i <<<"$*; exec </dev/tty"
Чем у меня .screenrc_rails
файл:
#shell -${SHELL}
caption always "%n(%t) %= %{b}@%H[%l] : %{r}%c:%s"
termcapinfo xterm ti@:te@
termcap xterm 'AF=\E[3%dm:AB=\E[4%dm'
terminfo xterm 'AF=\E[3%p1%dm:AB=\E[4%p1%dm'
startup_message off
screen -t server 2 ${HOME}/.run_screen rails s
screen -t spork 3 ${HOME}/.run_screen bundle exec spork
screen -t dev_log 4 ${HOME}/.run_screen tail -f ./log/development.log
screen -t test_log 5 ${HOME}/.run_screen tail -f ./log/test.log
screen -t bash 0
screen -t bash 1
И псевдоним (screen r (ails)), определенный в .bash_profile
:
alias screenr='screen -c ~/.screenrc_rails'
Если вы не знаете screen
, начните с ctrl+a
, "
. ctrl+a
, ?
окажут вам некоторую помощь.
Я надеюсь, вам понравится.
person
pawel7318
schedule
30.01.2015