可可/ Objective-C的shell命令行执行(Cocoa/ Objective-C Shel

2019-07-19 13:01发布

这可能是一个愚蠢的问题,但我怎么可以从我的可可应用程序执行shell命令?

我有命令字符串“命令”,但可根据需要方便地处理数据。

没有必要得到一个返回的输出值。

Answer 1:

NSTask是很容易做到这一点。 对于同步调用,您可以使用这样的片段:

NSString *path = @"/path/to/executable";
NSArray *args = [NSArray arrayWithObjects:..., nil];
[[NSTask launchedTaskWithLaunchPath:path arguments:args] waitUntilExit];

-waitUntilExit调用确保它继续之前完成。 如果该任务可以是异步的,你可以删除通话,只是让NSTask做的事情。



Answer 2:

如果你只是想运行的东西,不关心输出或返回代码(例如,你想触摸的文件),你可以做

system("touch myfile.txt");

易为。



Answer 3:

NSTask

使用NSTask类,程序可以运行另一个程序作为子进程,并可以监视程序的执行。



文章来源: Cocoa/ Objective-C Shell Command Line Execution