尝试在Swift中运行命令行时出现“不允许的操作”

tzxcd3kk  于 2023-04-10  发布在  Swift
关注(0)|答案(1)|浏览(173)

我正在构建一个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”的东西。
我看到了一些关于权利文件的相关帖子,所以我也将其包含在我的项目中:

不过,还是不行,你们有什么想法,我应该试试别的?

wrrgggsh

wrrgggsh1#

谢谢你的一些回复,一旦我在我的权利文件上将“应用程序沙箱”设置为“否”,一切都正常。

我试图创建一个新的权利文件,而不是使用现有的。这是我的主要错误。

相关问题