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

原文 标签 objective-c cocoa macos bash nstask

我正在制作一个免费的Mac应用程序,该应用程序只是可以在Terminal中运行的“ purge”命令的包装。我已经厌倦了Mac App Store中充斥的盗窃者,我只是想帮助人们。我已经完成了GUI,只是无法弄清楚如何成功运行命令。

我知道我需要使用NSTask,但是我可能没有正确执行。

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


我怎样才能解决这个问题?

最佳答案

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

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


或者,甚至更简单:

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

关于objective-c - 如何通过NSTask运行“清除”命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6754794/

相关文章:

iphone - 将按钮添加到 UITableViewCell

macos - 将虚拟 key 代码转换为unicode字符串

objective-c - NSTableView:显示展开的行(动态调整大小)

macos - 除非我让用户选择路径,否则保存到路径将不起作用

macos - 将 CGPathRef 转换为 NSBezierPath

macos - 通过 AVFoundation 获取视频中的帧数

ios - 长按内部操作表选项

ios - 如何使用 WKWebView 正确实现 didFailProvisionalNavigation?

objective-c - iOS 开发和配置私有(private)应用程序

objective-c - Obj-C 类接口(interface)中的尖括号 "<…>"是做什么用的?