这可能是一个愚蠢的问题,但我怎么可以从我的可可应用程序执行shell命令?
我有命令字符串“命令”,但可根据需要方便地处理数据。
没有必要得到一个返回的输出值。
这可能是一个愚蠢的问题,但我怎么可以从我的可可应用程序执行shell命令?
我有命令字符串“命令”,但可根据需要方便地处理数据。
没有必要得到一个返回的输出值。
NSTask是很容易做到这一点。 对于同步调用,您可以使用这样的片段:
NSString *path = @"/path/to/executable";
NSArray *args = [NSArray arrayWithObjects:..., nil];
[[NSTask launchedTaskWithLaunchPath:path arguments:args] waitUntilExit];
该-waitUntilExit
调用确保它继续之前完成。 如果该任务可以是异步的,你可以删除通话,只是让NSTask做的事情。
如果你只是想运行的东西,不关心输出或返回代码(例如,你想触摸的文件),你可以做
system("touch myfile.txt");
易为。
NSTask
使用NSTask类,程序可以运行另一个程序作为子进程,并可以监视程序的执行。