objective-c - 如何通过NSTask运行 "Purge"命令?

标签 objective-c cocoa macos bash nstask

我正在制作一个免费的 Mac 应用程序,它只是可以在终端中运行的“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运行 "Purge"命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6754794/

相关文章:

ios - 方法确实在父 View Controller 中调用,但方法内部的逻辑从不执行任何操作

objective-c - iOS chatt应用程序使用Ruby TCPServer,可以接收但不能发送消息。

c lang时间问题时区不是当前的?如何更改 MacBook MacOS 硬件时区设置?

cocoa - CGEventTap 阻止应用程序输入

ios - 在 iOS 中使用 NSDictionary 的可扩展 UITableview 单元格

ios - APN 自定义通知声音问题

objective-c - 我如何理解 Cocoa 库类中的性能权衡?

cocoa - ABPerson 使用旧图片数据

objective-c - 在 NSTextView 中检测 Enter/Tab/Up/Down 键?

c++ - Release模式下 OSX/AppleClang 上的 boost::container::flat_multimap 崩溃