我正在构建一个MACOS应用程序来监视计算机上运行的进程/线程。我编写了以下函数来执行命令:
func shell(_ command: String) -> String {
let task = Process()
let pipe = Pipe()
task.standardOutput = pipe
task.standardError = pipe
task.arguments = ["-c", command]
task.launchPath = "/bin/zsh"
task.standardInput = nil
task.launch()
let data = pipe.fileHandleForReading.readDataToEndOfFile()
let output = String(data: data, encoding: .utf8)!
return output
}
上面的函数在我运行像“ls -a”这样的命令时运行得很好,但是我得到了一个zsh:1:不允许的操作:ps如果我尝试运行类似“ps x”的东西。
我看到了一些关于权利文件的相关帖子,所以我也将其包含在我的项目中:
不过,还是不行,你们有什么想法,我应该试试别的?
1条答案
按热度按时间wrrgggsh1#
谢谢你的一些回复,一旦我在我的权利文件上将“应用程序沙箱”设置为“否”,一切都正常。
我试图创建一个新的权利文件,而不是使用现有的。这是我的主要错误。