web-dev-qa-db-fra.com

Comment tuer toutes les instances d'Uwsgi

J'essaie de télécharger mon projet sur le serveur. Il y a déjà un projet sur le serveur maintenant. J'ai un nouveau projet que je veux exécuter et remplacer l'ancien projet par le nouveau, donc je tire le nouveau projet sur le serveur. Ensuite, j'active l'environnement virtuel et fais tout le travail nécessaire. Ensuite, lorsque j'essaie d'exécuter la commande:

uwsgi --plugins=python --chdir=/var/www/prjt/src/ --socket=127.0.0.1:8889 --module=prjt.wsgi:application &

ça me dit que

probably another instance of uWSGI is running on the same address (127.0.0.1:8889).
bind(): Address already in use [core/socket.c line 761]

J'ai cherché des problèmes similaires et trouvé des solutions pour tuer toutes les instances d'uwsgi comme mentionné dans cette réponse ici

mais n'a pas pu trouver comment le faire.

Je suis nouveau dans ce domaine. Quelqu'un peut-il aider s'il vous plait. Je suis coincé à ça.

J'espère que la question est claire. Merci d'avance

10
user2413621

pour moi, la façon de tuer des instances uwsgi de manière brutale était:

Sudo pkill -f uwsgi -9
24
andilabs

Ajoutez un fichier pid à votre commande:

uwsgi --plugins=python --chdir=/var/www/prjt/src/ --socket=127.0.0.1:8889 --module=prjt.wsgi:application --pidfile /tmp/myapp.pid

Ensuite, utilisez

uwsgi --stop /tmp/myapp.pid

pour arrêter l'instance uwsgi de manière sûre.

Si vous n'avez pas spécifié de fichier pid lorsque vous avez démarré la première instance, vous pouvez le tuer brutalement en utilisant

kill `pidof uwsgi`
12
John Smith Optional

vous pouvez obtenir le pid du processus uwsgi ici lsof -t -i tcp:8000

et tuez-le alors kill -9 pid

6
Ninja420

J'arrête mon instance uwsgi par commande:

kill -INT `cat ${APP_ROOT}/run/uwsgi.pid`

Cette commande envoie signal à uwsgi qui provoque son arrêt.

Si vous ne connaissez pas le PID, vous pouvez:

killall -s INT /ve/path/bin/uwsgi

La documentation officielle

3
Eugen Konkov