我正在寻找进程和系统调用,它负责在Mac上启动每个新进程。 我相信它应该类似于 CreateProcess() 并返回新创建进程的进程 ID。(这是一个猜测)
我对内部细节感兴趣,例如负责启动新应用程序的流程。
感谢任何帮助。即使是一些需要照顾的引用资料也可能有所帮助。
最佳答案
OS X 是 Unix 的变种。使用 fork() 创建新进程系统调用。这会创建一个几乎相同的进行调用的进程的副本(区别在于 fork 在子进程中返回 0,而在父进程中返回子进程的 pid)。那么使用exec()之一是正常的。子进程中的系统调用将子进程转换为运行不同可执行文件的进程。
编辑
由于问题被标记为[Cocoa],我应该提到有一个名为 NSTask 的 Cocoa 类包含上面的内容。
关于macos - 如何在 Mac 上启动新应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7568605/