interrupt
タスクとそのサブタスクに割り込みます
解説
タスクとそのサブタスクに割り込みます。
割り込むことができれば、デフォルトの通知センターにNSTaskDidTerminateNotificationを送ります。
タスクがすでに実行されて終わっていれば、なにも起こりません。
タスクがまだ実行されていなければNSInvalidArgumentExceptionを起こします。
タスクが割り込みを無視しているかもしれないので、割り込みできないかもしれません。
返り値
( void )
なし
引数
フレームワーク
Foundation
クラス
NSTask
Instance Methods
使用可能
10.0
参照
例文
#import "MyObject.h" @implementation MyObject - (IBAction)myAction:(id)sender { NSTask *task = [[NSTask alloc] init];//Task=UNIXコマンド実行 NSPipe *pError = [NSPipe pipe];//エラー出力先 NSPipe *pOutput = [NSPipe pipe];//標準出力先 [task setLaunchPath:@"/usr/bin/cal"];//起動するシステムコマンド calendar [task setArguments:[NSArray arrayWithObjects:@" 8 2002",nil]];//渡す引数 //標準出力先 [task setStandardOutput:pOutput]; //エラー出力先 [task setStandardError : pError]; NSLog([[task standardOutput] className]); //実行 [task launch]; [task interrupt];//割り込み [task launch]; //終了まで待つ [task waitUntilExit]; { //エラーのデータ NSData *dataError = [[pError fileHandleForReading] availableData]; //標準出力データ NSData *dataOutput = [[pOutput fileHandleForReading] availableData]; //エラー出力 NSLog([NSString stringWithFormat:@"error-%s",[dataError bytes]]); //標準出力 NSLog([[NSString alloc] initWithData:dataOutput encoding:NSShiftJISStringEncoding ]); } } @end