【问题标题】:executing NSTask in the background在后台执行 NSTask
【发布时间】:2011-07-19 05:08:38
【问题描述】:

我正在使用 NSTask 执行一个 shell 脚本,但问题是 shell 脚本是那些在您按下 control+c 之前一直运行的脚本之一。它启动得很好,但是我的 mac 应用程序只是等待它结束。我怎样才能让它从mac应用程序中分离任务并在后台运行它。

【问题讨论】:

标签: objective-c cocoa shell nstask


【解决方案1】:

不要调用waitUntilExit 或以其他方式同步运行任务。如果任务有大量输出,请确保您读取并处理数据,否则 i/o 缓冲区将填满并阻塞。

一般来说,无论如何,您都不应该将 NSTask 用于类似守护进程的操作。你应该使用launchd。

【讨论】:

  • 你有在可可中使用launchd的例子吗?我的主要要求是在管理员权限下运行 shell 脚本。
  • 还有一个有用的界面来启动配置..macupdate.com/app/mac/19879/lingon
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-17
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 2021-08-27
相关资源
最近更新 更多