Como executar dois comandos 'python manage.py runserver' de duas pastas diferentes em um único terminal

0

Eu tenho dois projetos python diferentes colocados na pasta diferente (projeto 1 no diretório pydir1 , projeto 2 no diretório pydir2 ).

Sempre preciso abrir dois novos terminais e executar o comando python manage.py runserver depois da alteração no diretório do projeto.

Abra a 1ª janela do terminal e

cd pydir1
python manage.py runserver 8000 

e, em seguida, abra as janelas do segundo terminal e

cd pydir2
python manage.py runserver 8001

Existe uma maneira mais fácil de fazê-lo, ao mesmo tempo capaz de ver o progresso do log nas janelas do terminal?

    
por user275517 11.03.2015 / 03:12

2 respostas

2

Você pode usar um único comando do Terminal do GNOME:

gnome-terminal --tab-with-profile=Default --working-directory pydir1 \ 
  -e 'python manage.py runserver 8000' --tab-with-profile=Default \ 
  --working-directory pydir2 -e 'python manage.py runserver 8001'
  • As opções --tab-with-profile abrem novas guias. (Se você preferir janelas a guias, substitua tab por window no comando).
  • --working-directory poupa cd .
  • -e define o comando a ser executado nessa guia. Você pode usar perfis personalizados e ignorar a parte -e ... .

Salve como alias , ou crie um lançador personalizado para simplificar a execução desse longo comando.

    
por muru 11.03.2015 / 04:03
0

Eu também recomendo que você use inotifywait que é parte do pacote inotify-tools . Depois de instalar este pacote, você pode reiniciar seu servidor automaticamente sempre que salvar um arquivo alterado no seu diretório de trabalho. Por exemplo, com o seguinte script, você pode reiniciar o servidor sempre que modificar um arquivo de origem:

while inotifywait -r -e modify pydir1; do
    # ...bash code to restart the server...
done
    
por Stephan Kulla 17.03.2015 / 17:07