我正处于需要调用系统命令的项目中。我最初开始关注NSTask(因为这似乎是最流行的方法),但最近我遇到了system
命令。它看起来像NSTask更容易设置。我看到一些问题/答案说NSTask是更好的方法,但我没有看到
任何帮助/链接/想法/想法? (是的..我做了谷歌搜索)
答案 0 :(得分:8)
NSTask
:
NSString
s,而不必进行包层转换。system(3)
更好地支持 - 我认为system
甚至不适用于iOS。 system(3)
:
/bin/sh
之类的参数。对于Cocoa应用程序,我总是使用NSTask
;我只使用system
如果我正在做一些必须只有C的东西,或者我知道必须在非Mac环境下运行。事实上,system
非常脆弱,而且更强大的解决方案是fork
- exec
,因为它允许您更多地控制流和并发操作。
答案 1 :(得分:7)
存在一些差异。对于其中一些人来说,一般来说,这是否有利可能是很难说的。
如果不重新检查文档,这是我的一些不同之处。这是一个概述。