123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- /* NSTask.h
- Copyright (c) 1996-2007, Apple Inc. All rights reserved.
- */
- #import <Foundation/NSObject.h>
- @class NSString, NSArray, NSDictionary;
- @interface NSTask : NSObject
- // Create an NSTask which can be run at a later time
- // An NSTask can only be run once. Subsequent attempts to
- // run an NSTask will raise.
- // Upon task death a notification will be sent
- // { Name = NSTaskDidTerminateNotification; object = task; }
- //
- - (id)init;
- // set parameters
- // these methods can only be done before a launch
- - (void)setLaunchPath:(NSString *)path;
- - (void)setArguments:(NSArray *)arguments;
- - (void)setEnvironment:(NSDictionary *)dict;
- // if not set, use current
- - (void)setCurrentDirectoryPath:(NSString *)path;
- // if not set, use current
- // set standard I/O channels; may be either an NSFileHandle or an NSPipe
- - (void)setStandardInput:(id)input;
- - (void)setStandardOutput:(id)output;
- - (void)setStandardError:(id)error;
- // get parameters
- - (NSString *)launchPath;
- - (NSArray *)arguments;
- - (NSDictionary *)environment;
- - (NSString *)currentDirectoryPath;
- // get standard I/O channels; could be either an NSFileHandle or an NSPipe
- - (id)standardInput;
- - (id)standardOutput;
- - (id)standardError;
- // actions
- - (void)launch;
- - (void)interrupt; // Not always possible. Sends SIGINT.
- - (void)terminate; // Not always possible. Sends SIGTERM.
- - (BOOL)suspend;
- - (BOOL)resume;
- // status
- - (int)processIdentifier;
- - (BOOL)isRunning;
- - (int)terminationStatus;
- @end
- @interface NSTask (NSTaskConveniences)
- + (NSTask *)launchedTaskWithLaunchPath:(NSString *)path arguments:(NSArray *)arguments;
- // convenience; create and launch
- - (void)waitUntilExit;
- // poll the runLoop in defaultMode until task completes
- @end
- FOUNDATION_EXPORT NSString * const NSTaskDidTerminateNotification;
|