Cocoa/ Objective-C Shell Command Line Execution

后端 未结 3 1276
一向
一向 2020-12-02 21:03

This is probably a stupid question, but how can I execute a shell command from my Cocoa app?

I have the command as a string \"command\", but can easily manipulate da

相关标签:
3条回答
  • 2020-12-02 21:41

    NSTask is pretty easy to do this with. For a synchronous call, you can use something like this fragment:

    NSString *path = @"/path/to/executable";
    NSArray *args = [NSArray arrayWithObjects:..., nil];
    [[NSTask launchedTaskWithLaunchPath:path arguments:args] waitUntilExit];
    

    The -waitUntilExit call makes sure it finishes before proceeding. If the task can be asynchronous, you can remove that call and just let the NSTask do it's thing.

    0 讨论(0)
  • 2020-12-02 21:43

    NSTask

    Using the NSTask class, your program can run another program as a subprocess and can monitor that program’s execution.

    0 讨论(0)
  • 2020-12-02 21:45

    If you just want to run something and don't care about the output or return code (for example, you want to touch a file), you can just do

    system("touch myfile.txt");
    

    Easy as that.

    0 讨论(0)
提交回复
热议问题