如何通过NSTask运行“清除”命令?

时间:2011-07-19 22:17:39

标签: objective-c cocoa macos bash nstask

我正在制作一个免费的Mac应用程序,它只是可以在终端中运行的“purge”命令的包装器。我厌倦了填充Mac App Store的ripoffs,我只是想帮助别人。我已经完成了GUI,我无法弄清楚如何成功运行命令。

我知道我需要使用NSTask,但我可能没有正确地做到这一点。

NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:@"/bin/sh"];
[task setArguments:[NSArray arrayWithObjects:@"Purge", nil]];
[task launch];

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

purge可执行文件位于/usr/bin,因此:

NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:@"/usr/bin/purge"];
[task launch]; 

或者,甚至更容易:

[NSTask launchedTaskWithLaunchPath:@"/usr/bin/purge" arguments:[NSArray array]];