O script não para de forma limpa

0

Eu escrevi este pequeno script de shell para iniciar um servidor WSGI gunicorn para o meu aplicativo django. Eu estou rodando no Ubuntu 12.04, e o script começa de forma limpa e roda como deveria. O problema é que o script e o gunicorn continuam a rodar mesmo depois de ctrl - C , ou seja, ele não retorna ao prompt.

Por que isso seria e como posso corrigi-lo?

Script:

#!/bin/bash
NUM_WORKERS=3
cd /path/to/my/project
source ../bin/activate

gunicorn_django -w $NUM_WORKERS
    
por HighLife 24.05.2012 / 20:19

2 respostas

0

A maneira normal de iniciar processos do servidor é executá-los em segundo plano. Por exemplo.

gunicorn_django -w $NUM_WORKERS &

A maneira usual de parar servidores é enviar um sinal para eles, geralmente o processo do servidor ou o script que o inicia, salva o ID do processo em um arquivo para que o script de parada possa fazer algo como

kill pid

Veja exemplos típicos em /etc/initd.d scripts.

    
por 24.05.2012 / 20:39
0

Aqui é a correção do bug. Depois de fazer uma instalação limpa com esse ramo, parece funcionar bem.

    
por 25.05.2012 / 20:09