등록 된 ATEXIT 기능이 PyOBJC의 AppHelper.RuneventLoop ()에서 실행되도록하려면 어떻게해야합니까?
문제
내가 왜 내가 등록했는지 궁금합니다.
import atexit
atexit.register(somefunc)
...
AppHelper.runEventLoop()
물론 나는 언제 의지 알고 있습니다 atexit
작동하지 않습니다. 내가 댓글을 달 때 AppHelper.runEventLoop()
그만큼 atexit
기능이 호출됩니다. 나는 또한 내 탐색했다 pyobjc
계란과 나는 아래에서 보았다 __init__.py
아래에 objc
다음 코드를 패키지하십시오.
import atexit
atexit.register(recycleAutoreleasePool)
나는 계란 내에서 어떤 참조를 찾지 못했습니다. 나는 또한 주위의 시험을 둘러싼 주변을 둘러싼 노력했다 AppHelper.runEventLoop()
, 마지막 블록의 명령은 호출되지 않습니다.
누군가가 나를 도울 수 있기를 바랍니다.
추신, 나는 응용 프로그램 대의원을 사용하고 싶지 않다고 가정합니다. applicationShouldTerminate:
방법...
해결책
이벤트 루프가 프로세스를 갑자기 종료 할 수 있기 때문에 대의원이 필요하다고 생각합니다. os._exit
) 따라서 파이썬 런타임에 종료 코드를 실행할 수있는 기회를 제공하지 마십시오. finally
조항, atexit
기능 등
제휴하지 않습니다 StackOverflow