-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathstopserver.sh
executable file
·41 lines (33 loc) · 1.08 KB
/
stopserver.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/bash
# Script para parar todos os serviços relacionados ao projeto.
# Interrompe os workers do Celery, o servidor de desenvolvimento do Django e o servidor Apache.
# Também interrompe o serviço PostgreSQL caso ele esteja em execução.
echo "Parando o Celery..."
sudo pkill -9 -f 'celery worker'
sudo pkill -9 -f 'celery beat'
timeout=30
elapsed=0
interval=1
while pgrep -f 'celery' > /dev/null; do
if [ $elapsed -ge $timeout ]; then
echo "Timeout para terminar os processos do Celery."
break
fi
echo "Esperando os processos do Celery terminarem..."
sleep $interval
elapsed=$((elapsed + interval))
done
# Supostamente já foram mortos, mas por garantia
pids=$(pgrep -f 'celery')
if [ -n "$pids" ]; then
sudo kill -9 $pids
fi
#echo "Parando Django..."
#sudo pkill -f 'manage.py runserver'
#sudo kill -9 $(pgrep -f manage.py) # Alternativa
echo "Stopping Apache server..."
sudo systemctl stop apache2
# Descomente se precisar parar o PostgreSQL
# echo "Parando PostgreSQL..."
# sudo systemctl stop postgresql.service
echo "Todos os serviços parados."