系统:job_mig_spawn()无法找到其会话

时间:2012-06-09 13:11:55

标签: objective-c c cocoa unix launchd

我想从特定用户的root进程启动cocoa应用程序。所以我正在更改我的应用程序的所有者和权限。

如果s组权限设置了用户位(对应于u + s),那么每当有人执行该程序时,该进程将拥有拥有它的任何人的权限。

sudo chown -R test myApp
sudo chmod u+s /Contents/MacOS/myApp
system([@"open myApp" UTF8String]);  //inside root process
//-rwsr-xr-x  1 test  myApp

错误:

com.apple.launchd[1]: System: Bug: launchd_core_logic.c:8760 (24498):0
com.apple.launchd[1]: System: job_mig_spawn() can't find its session!
open[24459]: spawn_via_launchd() failed, errno=5 label=[0x0-0x274274].
rootProcess[23127]: LSOpenURLsWithRole() failed with error -10810 for the file /Applications/myApp.app/.  

任何人都可以帮帮我吗?

1 个答案:

答案 0 :(得分:2)

您应该阅读所有Technical Note TN2083: Daemons and Agents,但特别是,它说:

  

我们在[Apple Developer Technical Support]中遇到的一个常见问题是“如何从我的守护程序启动GUI应用程序?”答案是你不能。