在Mac app Store上的一个应用程序中,我执行了以下操作:
system("/usr/bin/nice -n 20 /usr/bin/purge &> /dev/null &");它运行得很好,但现在我正在尝试提交一个新版本,他们强迫我启用沙箱。但是,使用沙箱时,调用会失败,并在控制台中给出如下消息:
7/20/13 12:58:59.000 AM kernel[0]: Sandbox: sh(28537) deny file-read-data /dev/ttys000
7/20/13 12:58:59.968 AM purge[28538]: bootstrap_look_up(): Permission denied
7/20/13 12:59:00.000 AM kernel[0]: Sandbox: purge(28538) deny mach-lookup com.apple.appleprofilepolicyd
7/20/13 12:59:00.521 AM purge[28538]: <CPDevice.m:3813> Unable to create new counter client.
7/20/13 12:59:00.523 AM purge[28538]: <CPOSX.m:1188> Unable to get user client so as to poke the kernel.
7/20/13 12:59:00.000 AM kernel[0]: Sandbox: purge(28538) deny iokit-open ApplePerformanceCounterManagerUserClient
7/20/13 12:59:00.000 AM kernel[0]: Sandbox: purge(28538) deny iokit-open AppleProfileUtilitiesUserClient
7/20/13 12:59:00.000 AM kernel[0]: AppleProfileUtilitiesUserClient: bad busy count (0,-1)
7/20/13 12:59:00.000 AM kernel[0]: Backtrace 0xffffff802d22d4d2 0xffffff802d231fc9 0xffffff802ceb3137 0 0 0 0有什么办法可以解决这个问题吗?
发布于 2013-07-27 05:58:14
关于NSTask和沙盒的官方说法是“一些可执行文件可能会起作用”。对我来说,这就是“不要指望它”。在目前正在关闭的苹果开发人员论坛中,有一大堆关于这一点的问题,purge似乎肯定是被列入黑名单的一个。
https://stackoverflow.com/questions/17760171
复制相似问题