我尝试了fork()
一个 Cocoa 进程并设置了一个新的 Cocoa/ObjC 环境,但我得到了错误:
The process has forked and you cannot use this CoreFoundation functionality safely. You MUST exec().
Break on __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__() to debug.
有没有办法在分叉的过程中重新初始化 Cocoa/ObjC?
我知道关于文档fork()
确实说它是有限的,但是我想知道是否还有办法做到这一点,而不仅仅是文档所说的。
我试图阅读处理 execve 系统调用 (bsd/kern/kern_exec.c) 的 XNU 内核的源代码,但我不习惯那些我不能轻易说出是否可以做类似事情的代码用户空间与否。