Hemos levantando nuestro servidor de desarollo en django y luego de algunos cambios en el codigo. Por lo general el django esta escuchando todos los cambios que realizamos y se va reiniciando cada vez que guardamos los cambios.
Pero a veces no lo hace y se tiene que detener o reiniciar el servidor manualmente.
Normalmente el daemon del servidor te dirá «Para salir del servidor, hazlo con Control C». Pero sabemos que no todos las veces funciona y nos da el siguiente mensaje.
python manage.py runserver Performing system checks... System check identified no issues (0 silenced). May 10, 2018 - 14:20:33 Django version 2.0, using settings 'sitemonkey.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C. Error: That port is already in use.
Las soluciones suelen ser largas para estos casos. Se tiene que buscar el ID del proceso o el PID del servidor que escucha los puertos que se están ejecutando como en nuestro caso el 8000. Eso lo podemos hacer con netstat, lsof o ss. Para obtener el PID y luego con el comando kill detener el proceso.
Complicado?
en realidad es solo una linea de codigo que puedes usar.
sudo fuser -k -n tcp 8000
Lo que hará ese pequño comando es detener proceso django en el puerto 8000 y lo liberará para usarlo nuevamente