如何杀死所有uwsgi实例

问题描述 投票:8回答:4

我正在尝试将我的项目上传到服务器。现在服务器中已有一个项目。我有新的项目,我想运行并用新的项目替换旧项目,所以我将新项目拉到服务器。然后我激活虚拟环境并完成所有必要的工作。然后当我尝试运行命令时:

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

它告诉我

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]

我搜索了类似的问题,并找到了一些关于杀死所有uwsgi实例的解决方案,如本答案here中所述

但是找不到怎么做。

我是这个领域的新手。谁能请帮忙。我被困在这里。

希望问题很清楚。提前致谢

python django uwsgi
4个回答
14
投票

对我来说,以暴力方式杀死uwsgi实例的方法是:

sudo pkill -f uwsgi -9

10
投票

在命令中添加一个pid文件:

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

然后用

uwsgi --stop /tmp/myapp.pid

以安全的方式阻止uwsgi实例。

如果在启动第一个实例时没有指定pid文件,则可以使用它来粗暴地删除它

kill `pidof uwsgi`

4
投票

你可以在这里获得uwsgi过程的pid lsof -t -i tcp:8000

并杀死它然后kill -9 pid


2
投票

我通过命令停止我的uwsgi实例:

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

此命令发送signal to uwsgi,导致它停止。

如果您不了解PID,可能:

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

The official documentation

© www.soinside.com 2019 - 2024. All rights reserved.