Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Executing shell commands with NSTask - Objective-C Cocoa

I have been searching for days and hours for this, I have seen a lot of examples of this, but cannot figure out how NSTask works, let's say I wanted to execute the command killall Dock or defaults write com.apple.Finder AppleShowAllFiles YES something like that, how would I go about doing this.

I know how to execute an external shell script (sh) but need to be more sophisticated and use NSTask instead.

Thanks for any help!!

like image 906
Rstew Avatar asked Jul 31 '13 16:07

Rstew


1 Answers

You could do something like:

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

Exactly what launch path and arguments you provide are dictated by the command you want to run and its parameters.

like image 101
Wain Avatar answered Nov 08 '22 17:11

Wain