При использовании multiprocessing идёт зацикливание после компиляции pyinstaller
Я использую multiprocessing и столкнулся с проблемой. После компиляции программы в exe с помощью pyinstaller, почему-то всё начиная с print('123') зацикливается.
Когда я запускаю не скомпилированный скрипт, то всё работает нормально.
import multiprocessing
def main():
while True:
pass
if __name__ == '__main__':
main_process = multiprocessing.Process(target=main)
main_process.start()
print('123')
Ответы (1 шт):
Автор решения: vadim vaduxa
→ Ссылка
Единственное что приходит на ум, что вопрос был - почему скрипт не прерывается после print('123'), если мы не делали main_process.join().
Ответ - потому, что есть аргумент daemon который по умолчанию False.
Чтобы скрипт прервался, он должен быть True - multiprocessing.Process(target=main, daemon=True)