簡體   English   中英

如何啟動外部流程?

[英]How to launch an external Process?

我正在閱讀swift的文檔並遇到了類型方法。 例如: https//developer.apple.com/documentation/foundation/process

提供的類型方法是:

class func run(URL, arguments: [String], terminationHandler: ((Process) -> Void)? = nil)

我如何在我的代碼中使用它? 例如,當我按下按鈕? 如何向terminationHandler添加清理功能?

macos應用程序中,您可以使用run來啟動外部進程,例如:

1)一次性執行:

let url = URL(fileURLWithPath:"/bin/ls")
do {
   try Process.run(url, arguments: []) { (process) in
      print("\ndidFinish: \(!process.isRunning)")
   }
} catch {}

2)您可能希望使用Process實例來更舒適地設置其行為,這樣做:

let process = Process()
process.executableURL = URL(fileURLWithPath:"/bin/ls")
process.arguments = ["-la"]
process.terminationHandler = { (process) in
   print("\ndidFinish: \(!process.isRunning)")
}
do {
  try process.run()
} catch {}

所以我確實啟動了ls命令(你可以檢查你的控制台的結果),然后在關閉的terminationHandler我得到了這樣的過程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM