「python3 manage.py runserver 0.0.0.0:8000」で起動したサーバーのプロセスを確認したところ、プロセスが二つ存在することに気づいた。
bash-4.2# ps aux | grep "runserver" | grep -v "grep" root 15 2.2 1.7 231188 36440 pts/1 S+ 08:56 0:00 python3 manage.py runserver 0.0.0.0:8000 root 17 9.8 2.0 234996 41144 pts/1 Sl+ 08:56 0:04 /usr/bin/python3 manage.py runserver 0.0.0.0:8000 bash-4.2#
疑問に思って調べたところ、stackoverflowに同じ質問があり、オートリロードが有効な場合(デフォルト)はauto-reloader用のプロセスがもう一つ立ち上がるのではないかとのことであった。
公式ドキュメントには記載がなかったので、ちゃんと裏をとるならソースコードを読まなければならないが、確かに「--noreload」を付けて起動するとプロセスは1つになった。
bash-4.2# ps aux | grep "runserver" | grep -v "grep" root 33 1.1 1.9 233756 39560 pts/1 S+ 09:01 0:00 python3 manage.py runserver 0.0.0.0:8000 --noreload bash-4.2#