将killall与NSTask一起使用时出错(不允许操作)

时间:2015-08-28 15:36:35

标签: macos swift cocoa nstask

我正在尝试杀死Finder,以便在使用NSTask()进行更改后重启。下面是我在Swift中尝试做的事情,问题是我收到错误,我无法解决如何修复它。

代码:

var task = NSTask()
task.launchPath = "/usr/bin/defaults"
task.arguments = ["write", "com.apple.finder", "AppleShowAllFiles", "YES"]
task.launch()
task.waitUntilExit()

var taskKill = NSTask()
taskKill.launchPath = "/usr/bin/killall"
taskKill.arguments = ["Finder"]
taskKill.launch()

我得到的错误:

killall: warning: kill -TERM 5185: Operation not permitted

我已经在互联网上搜索了解决方案。有人建议打开Sandbox,我做了什么,没有任何改变,有些人说我需要得到用户的许可,这是OS X记录不足的部分,很难做到。

如果有人知道如何在OS X(最好是Swift)中重新启动Finder,请回答,即使它只是指向某些文档的链接或任何有助于我这样做的内容。

谢谢!

0 个答案:

没有答案