Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 如何在Mac上启动新应用程序?_Macos_Cocoa_Process_System_Macos Carbon - Fatal编程技术网

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

Macos 如何在Mac上启动新应用程序?,macos,cocoa,process,system,macos-carbon,Macos,Cocoa,Process,System,Macos Carbon,我正在寻找进程&一个负责在Mac上启动每个新进程的系统调用。 我认为它应该类似于CreateProcess(),它返回新创建的进程的进程id。(这是一个猜测) 我对内部细节感兴趣,比如负责启动新应用程序的流程 感谢您的帮助。甚至一些需要注意的参考资料也可能有所帮助。OSX是Unix的一个变种。通过系统调用创建新进程。这将创建一个几乎相同的调用进程副本(区别在于fork在子进程中返回0,在父进程中返回子进程的pid)。然后,使用子系统中的一个系统调用将子系统转换为运行不同可执行文件的进程是正常的

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

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


感谢您的帮助。甚至一些需要注意的参考资料也可能有所帮助。

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

编辑


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

通常在Mac OS X上,LaunchD是所有进程的父进程。因此,LaunchD正在启动它们。怎样??首先是它,然后是它

你知道哪个进程负责fork,然后执行吗?@MachinTosh:任何进程都可以执行fork/exec。我知道任何进程都可以执行fork/exec。但我有兴趣找出所有应用程序的共同点,比如dock、terminal、itunes?哪个进程分叉并启动它们?@MachinTosh如果打开活动监视器(在/Applications/Utilities中),并将下拉列表更改为“所有进程,分层”,则可以看到哪些进程启动了哪些其他进程。在OSX10.7中,launchd负责启动大多数用户进程。。我尝试过注入Launched和hooked fork以及exec的所有变体。启动呼叫分叉,但不执行?还是很困惑!