Creates and launches a task, returning an
autoreleased task object. Supplies the
path to the executable and an array of
argument. The task inherits the parents
environment and I/O.
Sends an interrupt signal to the receiver and any
subtasks. If the task has not been
launched, raises an NSInvalidArgumentException.
Has no effect on a task that has already
terminated. This is rather like the
terminate method, but the child process may not
choose to terminate in response to an interrupt.
Launches the task. Raises an
NSInvalidArgumentException if
the launch path is not set or if the subtask cannot be
started for some reason (eg. the executable does
not exist or the task has already been launched). The
actual launching is done in a concrete subclass;
this method just takes care of actions common to all
subclasses.
Sets an array of arguments to be supplied to the task
when it is launched. The default is an empty array.
This method cannot be used after a task is launched...
it raises an NSInvalidArgumentException.
Sets the home directory in which the task is to be
run. The default is the parent processes directory.
This method cannot be used after a task is launched...
it raises an NSInvalidArgumentException.
Sets the environment variables for the task to be run.
The default is the parent processes environment. This
method cannot be used after a task is launched... it
raises an NSInvalidArgumentException.
Sets the path to the executable file to be
run. There is no default for this - you must set the
launch path. This method cannot be used
after a task is launched... it raises an
NSInvalidArgumentException.
Sets the standard error stream for the task.
This is normally a writable NSFileHandle object. If
this is an NSPipe, the write end of the pipe is
automatically closed on launching. The
default behavior is to inherit the parent processes
stderr output. This method cannot be used
after a task is launched... it raises an
NSInvalidArgumentException.
Sets the standard input stream for the task.
This is normally a readable NSFileHandle object. If
this is an NSPipe, the read end of the pipe is
automatically closed on launching. The
default behavior is to inherit the parent processes
stdin stream. This method cannot be used after
a task is launched... it raises an
NSInvalidArgumentException.
Sets the standard output stream for the task.
This is normally a writable NSFileHandle object. If
this is an NSPipe, the write end of the pipe is
automatically closed on launching. The
default behavior is to inherit the parent processes
stdout stream. This method cannot be used
after a task is launched... it raises an
NSInvalidArgumentException.
Sends a terminate signal to the receiver and any
subtasks. If the task has not been
launched, raises an
NSInvalidArgumentException. Has
no effect on a task that has already terminated.
When a task terminates, either due to this method
being called, or normal termination, an
NSTaskDidTerminateNotification is
posted.
If the system supports it, this method sets the standard
input, output, and error streams to a
pseudo-terminal so that, when launched, the
child task will act as if it was running
interactively on a terminal. The file handles
can then be used to communicate with the child.
This method cannot be used after a task is launched...
it raises an NSInvalidArgumentException. The
standard input, output and error streams cannot be
changed after calling this method. The
method returns YES on success,
NO on failure.
Returns a validated launch path or nil
. Allows for the GNUstep host/operating system,
and library combination subdirectories in a path,
appending them as necessary to try to locate the
actual binary to be used. Checks that the
binary file exists and is executable. Even
tries searching the directories in the PATH
environment variable to locate a binary if the
original launch path set was not absolute.
Suspends the current thread until the task
terminates, by waiting in NSRunLoop
(NSDefaultRunLoopMode) for the task
termination. Returns immediately if the
task is not running.
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.
Warning the underscore at the start of the
name of this instance variable indicates that, even
though it is not technically private, it is
intended for internal use within the package, and
you should not use the variable in other code.