如何 运行 来自 swift 的节点

How to run a node from swift

我正在尝试使用以下命令停止 nodejs 服务器开始永久使用:

func shell(command: String) -> Int32 {
        let task = Process()
        task.launchPath = "/usr/bin/env"
        task.arguments = ["sh", "-c", command]
        task.launch()
        task.waitUntilExit()
        return task.terminationStatus
    }

shell(command: "$forever_PATH/forever stop node.js")

我看到以下错误:

env: node: No such file or directory
PS:node is located in /usr/local/bin

我认为这可能是沙盒问题。进入您应用的授权页面并删除沙盒部分。

这解决了我找不到文件的问题。

请注意,您将无法 post 应用到 App Store。

  func shell(path:String,commandargs: [String]) -> Bool
    {
        let task = Process()
        var ret : Bool = false

      task.launchPath = path
      task.arguments = commandargs
      task.launch()
      task.waitUntilExit()
        if !task.isRunning {
            let status = task.terminationStatus
            if status == 0 {
                ret = true
            } else {
                ret = false
            }
        }
         return ret

    }

如下称呼

shell(path: "/usr/local/bin/node", commandargs: ["PathToforever","stop","nodejsscript.js"])