[Django]-Django development server, how to stop it when it run in background?

104πŸ‘

βœ…

The answer is findable via Google β€” and answered in other forums. Example solution is available on the Unix & Linux StackExchange site.

To be explicit, you could do:

ps auxw | grep runserver

This will return the process and its respective PID, such as:

de        7956  1.8  0.6 540204 55212 ?        Sl   13:27   0:09 /home/de/Development/sampleproject/bin/python ./manage.py runserver

In this particular case, the PID is 7956. Now just run this to stop it:

kill 7956

And to be clear / address some of the comments, you have to do it this way because you’re running the development server in the background (the & in your command). That’s why there is no β€œbuilt-in” Django stop option…

πŸ‘€user

45πŸ‘

One liner..

pkill -f runserver
πŸ‘€archit gupta

14πŸ‘

Try this

lsof -t -i tcp:8000 | xargs kill -9
πŸ‘€Peter Wauyo

7πŸ‘

Ctrl+c should work. If it doesn’t Ctrl+/ will force kill the process.

πŸ‘€timotaoh

6πŸ‘

well it seems that it’s a bug that django hadn’t provided a command to stop the development server . I thought it have one before~~~~~

πŸ‘€bricks

5πŸ‘

We can use the following command.

-> netstat -ntlp

then we will get number of process running with PID, find our python server PID and Kill process.

-> kill -9 PID

For example:
enter image description here

πŸ‘€Willie Cheng

3πŸ‘

As far as i know ctrl+c or kill process is only ways to do that on remote machine.
If you will use Gunicorn server or somethink similar you will be able to do that using Supervisor.

πŸ‘€wolendranh

2πŸ‘

This worked for me on windows.

Use the below command to list all connections and listening ports (-a) along with their PID (-o).

netstat -a -o

Find the PID of the process

Then use this to kill the process

taskkill /PID PUT_THE_PID_HERE /F

1πŸ‘

From task manager you can end the python tasks that are running.
Now run python manage.py runserver from your project directory and it will work.

1πŸ‘

Programmatically using a .bat script in Command Prompt in Windows:

@ECHO OFF
SET /A port=8000
FOR /F "tokens=5" %%T IN ('netstat -ano ^| findstr :%port%') DO (
    SET /A processid=%%T
    TASKKILL /PID %%T /F
)

gives

SUCCESS: The process with PID 5104 has been terminated.

-4πŸ‘

You can Quit the server by hitting CTRL-BREAK.

πŸ‘€Mahesh

Leave a comment