관리 명령 runserver
을 발행하는 동안 로더를 사용하여 서버를 실행합니다. 자신이 아닌 경우 소스에서 Django1.5
의 코드가 새로운 프로세스/스레드에서 서버를보고하기 전에, 그것은 특별히 환경 변수에 'true'
에 RUN_MAIN
의 값을 설정 코드 의 조각을 건너 온 'true'
Django : 'RUN_MAIN'환경 변수의 중요성
장고/유틸/자동 리로드 이 만이 새로운 프로세스/스레드를 생성 설정된 경우, 그 값의 값이 아닌 OT 설정되는 경우 평 다른 코드 조각
new_environ = os.environ.copy()
new_environ["RUN_MAIN"] = 'true'
exit_code = os.spawnve(os.P_WAIT, sys.executable, args, new_environ)
그것을 체크한다.
if os.environ.get("RUN_MAIN") == "true":
thread.start_new_thread(main_func, args, kwargs)
기본적으로 시스템 (linux2)에서는 값을 설정하지 않습니다.
쿼리 : 해당 환경 변수의 중요성과 방법이 새로운 프로세스/스레드를 시작 관련되어 어떤
1).
2) "RUN_MAIN"
이 '참'이면 코드가 스레드를 생성하고, 그렇지 않으면 프로세스를 생성합니다. 그게 왜?