MacGap.Task.create(path, callback)

Creates a task object to execute a system command.


Argument description
path A string path to the executable system command, '/usr/ls' or '/bin/cat'
callback A callback function to receive the result of the command


The callback will be invoked when the task is complete. A result object will be passed to the function.

Property description
status An integer, 0 for success or non-zero for
stdIn ?
stdErr ?
stdOut A string representing what std out of the system command


This example creates a task calling the whoami function to identify the current user.

var myTask = MacGap.Task.create('/usr/bin/whoami', function(result) {
  if(result.status == 0) {
    console.log('The current user is ', result.stdOut);
  } else {
    console.log('An error occurred retrieving the current user.');
myTask.pipeOutput = true;

MacGap.Task Object

The object to interface with the task.


Propertiy name Description
isRunning is task currently running, returns boolean
waitUntilExit primarily used as a setter, see NSTask reference for what this is
arguments set/get arguments to pass to task. Passed arguments need to be in the form of an array, i.e. task.arguments = ['arg1', 3, 'whatever'];
environment set's the tasks environment variables, defaults to application's
pipeOutput converts the stdOut value to string format in the callback result object, default false


Method name Arguments description
launch none launches task
terminate none kills currently running task


This example initiates a say task with an argument, launches the command and terminates it if it's still running in 500ms.

var myTask = MacGap.Task.create('/usr/bin/say');
myTask.arguments = ['hello there'];

// terminate if running too long
}, 500);