macos - 如何在 Mac 上启动新应用程序?

标签 macos cocoa process system macos-carbon

我正在寻找进程和系统调用,它负责在Mac上启动每个新进程。 我相信它应该类似于 CreateProcess() 并返回新创建进程的进程 ID。(这是一个猜测)

我对内部细节感兴趣,例如负责启动新应用程序的流程。

感谢任何帮助。即使是一些需要照顾的引用资料也可能有所帮助。

最佳答案

OS X 是 Unix 的变种。使用 fork() 创建新进程系统调用。这会创建一个几乎相同的进行调用的进程的副本(区别在于 fork 在子进程中返回 0,而在父进程中返回子进程的 pid)。那么使用exec()之一是正常的。子进程中的系统调用将子进程转换为运行不同可执行文件的进程。

编辑

由于问题被标记为[Cocoa],我应该提到有一个名为 NSTask 的 Cocoa 类包含上面的内容。

关于macos - 如何在 Mac 上启动新应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7568605/

相关文章:

macos - 如何在给定目录中找到一段时间后创建的所有文件?

objective-c - 获取实体中某个值的最大值

ios - 当赋值不同时 KVO 触发

java - 使用 Java 运行时执行命令

c# - 如何模拟不同的CPU频率和限制RAM

ios - 在不同线程上调用的类的实例方法可以使用类的属性吗?

objective-c - 将事件保存到 CalCalendar 是否只存储指向 CalEvent 的指针,而不是副本?

html - 有什么方法可以使用 wkhtmltopdf 减小文件大小?

objective-c - NSBezierPath 独特的线条

c++ - 获取流程描述