У меня есть питон скрипт (без GUI), который порождает дочерний поток, в то время как родительский поток препятствует приложение от отделки с помощью этого метода:py2app приложение работает, но Mac OS X показывает, что он не реагирует
try:
while True:
time.sleep(1)
except (KeyboardInterrupt, SystemExit):
pass
finally:
cleanup()
Когда я создаю приложение из этого скрипта с py2app и запускаю его, он остается в Доке и работает как ожидалось, но когда я нажимаю правой кнопкой мыши, он показывает, что «Приложение не отвечает» (то же самое в Activity Monitor) и заканчивает его Я могу выбрать только «Force Quit», из-за чего впоследствии появляется диалог отчета о сбое.
Почему это не отвечает и, если причина в sleep()
, как я могу открыть приложение без него?
поэтому, если меня хорошо понимают, показывая на палубе, как не отвечающий, это не значит, что он действительно не отвечает?! – Amir
@Amir Нет, это действительно означает, что он не отвечает. Это не значит, что это _frozen_; он вполне может делать все, что он должен был сделать, но реагирование на сообщения от ОС просто не является частью того, что он должен был делать. – abarnert