【发布时间】:2012-05-29 23:48:15
【问题描述】:
我正在编写一个运行以下命令的小型 Mac 应用程序(在 Obj-C 中):
system("killall Finder");
我想看看如果我将应用程序沙盒化(因为沙盒化将在 6 月 1 日开始),应用程序将无法运行,会发生什么情况。我收到以下回复:
killall: warning: kill -TERM 6524: Operation not permitted
有没有办法解决这个问题?是否以特定的权限添加或以其他方式运行命令?
提前致谢。
【问题讨论】:
-
有很多可以拒绝的;
system(3)函数、killall(1)程序、发现comm->pid映射的内省例程,或杀死进程的signal(2)系统调用。 看起来signal(2)调用被拒绝了,如果没有办法向沙箱外的进程发送信号,我不会感到震惊......你的目标是什么我>? (当然killall Finder不是你申请的重点...... :) -
@sarnold 那将是一个非常没用的应用程序:P。我正在尝试运行像
defaults write com.apple.finder DesktopViewOptions -dict IconSize -integer 512这样的简单命令。在这些之后,您需要killall Terminal才能生效。 -
人力资源部。我认为这会让用户感到不安。很多。
-
哎呀...错字...我的意思是
Finder...抱歉。 :( -
@sarnold 好吧,我打算在命令运行之前警告他们...
标签: objective-c macos mac-app-store appstore-sandbox