Я бы запустил новый процесс fcgi на новом порту, изменил конфигурацию nginx для использования нового порта, настроил перезагрузку nginx (что само по себе изящно), а затем в конце остановил бы старый процесс (вы можете использовать netstat, чтобы найти когда последнее соединение со старым портом закрыто).
В качестве альтернативы, вы можете изменить реализацию fcgi, чтобы обработать новый процесс, закрыть все сокеты в дочернем процессоре, кроме сокета сервера fcgi, закрыть сокет сервера fcgi в родительском процессоре, выполнить новый процесс django в дочернем процессоре (используя сокет сервера fcgi) и завершите родительский процесс, как только все соединения fcgi будут закрыты. IOW, осуществить изящный перезапуск для runfcgi.