Cocoa/ Objective-C Shell Command Line Execution Cocoa/ Objective-C Shell Command Line Execution unix unix

Cocoa/ Objective-C Shell Command Line Execution


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.


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.


NSTask

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