python Django命令杀死runserver。在Docker容器中使用Djanog并在外部使用runserver时很方便。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python Django命令杀死runserver。在Docker容器中使用Djanog并在外部使用runserver时很方便。相关的知识,希望对你有一定的参考价值。

import os
import shlex
import subprocess
from subprocess import PIPE, STDOUT
from django.core.management.base import BaseCommand


class Command(BaseCommand):
    help = 'Kill local processes running runserver command'

    def handle(self, *args, **options):
        args = shlex.split('ps aux')
        p1 = subprocess.Popen(args, stdin=PIPE, stderr=STDOUT, stdout=PIPE)

        for line in p1.stdout:
            pid_parts = line.split(' ')
            
            for part in pid_parts:
                if part == 'runserver':
                    # print 'proc: ', line
                    # print 'kill %s' % pid_parts[7]
                    try:
                        int(pid_parts[7])  # check if pid is an int
                        status = os.system('kill %s' % pid_parts[7])
                        if status != 0:
                            print 'Kill FAILED'
                    except Exception as e:
                        print 'EXC: ', e

以上是关于python Django命令杀死runserver。在Docker容器中使用Djanog并在外部使用runserver时很方便。的主要内容,如果未能解决你的问题,请参考以下文章

python manage.py runserver 没有名为 django.core.management 的模块

django源码分析——本地runserver分析

python manage.py runserver 127.0.0.1:8000 启动后台有两个启动进程

为啥coverage.py 不能正确测量Django 的runserver 命令?

使用 runserver 命令在 Django 中出现问题

django python manage.py runserver 流程