복붙노트

[PYTHON] multiprocessing.freeze_support ()

PYTHON

multiprocessing.freeze_support ()

멀티 프로세싱 모듈이 Windows 실행 파일을 생성하기 위해 "고정"될 때 특정 기능을 호출해야하는 이유는 무엇입니까?

해결법

  1. ==============================

    1.그 이유는 Windows에서 fork ()가 부족하기 때문입니다. 이 때문에 Windows에서는 자식 프로세스에서 Linux가 실행될 때 코드가 실행되는 새 프로세스를 만들어 포크를 시뮬레이션합니다. 코드는 기술적으로 관련이없는 프로세스에서 실행되므로 실행되기 전에 전달되어야합니다. 그것이 전달되는 방식은 먼저 절인되고 파이프를 통해 원래 프로세스에서 새 프로세스로 전송됩니다. 또한이 새로운 프로세스는 multipultrocessing-fork 명령 줄 인수를 파이프에 전달하여 코드를 파이프를 통해 실행해야한다는 사실을 알게됩니다. freeze_support () 함수의 구현을 살펴보면, 실행중인 프로세스가 pipe에 의해 전달 된 코드를 실행하는지 여부를 확인하는 작업이 있습니다.

    그 이유는 Windows에서 fork ()가 부족하기 때문입니다. 이 때문에 Windows에서는 자식 프로세스에서 Linux가 실행될 때 코드가 실행되는 새 프로세스를 만들어 포크를 시뮬레이션합니다. 코드는 기술적으로 관련이없는 프로세스에서 실행되므로 실행되기 전에 전달되어야합니다. 그것이 전달되는 방식은 먼저 절인되고 파이프를 통해 원래 프로세스에서 새 프로세스로 전송됩니다. 또한이 새로운 프로세스는 multipultrocessing-fork 명령 줄 인수를 파이프에 전달하여 코드를 파이프를 통해 실행해야한다는 사실을 알게됩니다. freeze_support () 함수의 구현을 살펴보면, 실행중인 프로세스가 pipe에 의해 전달 된 코드를 실행하는지 여부를 확인하는 작업이 있습니다.

  2. from https://stackoverflow.com/questions/13922597/multiprocessing-freeze-support by cc-by-sa and MIT license