【问题标题】:Executing shell commands with NSTask - Objective-C Cocoa使用 NSTask 执行 shell 命令 - Objective-C Cocoa
【发布时间】:2013-08-01 07:51:22
【问题描述】:

我已经为此搜索了几天和几个小时,我已经看到了很多这样的例子,但无法弄清楚 NSTask 是如何工作的,假设我想执行命令killall Dockdefaults write com.apple.Finder AppleShowAllFiles YES 之类的,我该怎么做呢。

我知道如何执行外部 shell 脚本 (sh),但需要更复杂并改用 NSTask。

感谢您的帮助!!

【问题讨论】:

    标签: objective-c macos cocoa nstask


    【解决方案1】:

    你可以这样做:

    NSTask *task = [[NSTask alloc] init];
    [task setLaunchPath:@"/bin/bash"];
    [task setArguments:@[ @"-c", @"/usr/bin/killall Dock" ]];
    [task launch];
    

    您提供的确切启动路径和参数取决于您要运行的命令及其参数。

    【讨论】:

    • 感谢您的回复!请问我如何找出不同命令所需的启动路径?
    • 我的示例作弊并运行一个 shell,因为以这种方式提供命令和参数通常更容易。您还可以将路径传递给您要运行的 unix 可执行 Hyatt。
    • 非常感谢,你帮了我很多忙!
    猜你喜欢
    • 1970-01-01
    • 2010-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-02
    • 1970-01-01
    相关资源
    最近更新 更多