0
NSTask에서 반환 된 데이터를 읽으 려하면 절대로 반환되지 않는 중단이 발생합니다. 실제로 실행중인 스크립트가 stdout 및 stderr로 데이터를 반환하는지 확인했습니다. 이것은 한 줄을 stdout에 보내고 다른 줄을 stderr에 보내는 간단한 두 줄 쉘 스크립트입니다. < NSConcreteFileHandle : 0x10010a800 >readDataToEndOfFile에서 NSTask가 응답하지 않는다
그리고 그냥 달려
NSLog 출력은
있어 핸들을 말한다. 이것은 내가 사용하고있는 코드입니다.
NSPipe *stderr = [NSPipe pipe]; NSPipe *stdout = [NSPipe pipe]; NSTask *task = [[NSTask alloc] init]; task.standardError = stderr; task.standardOutput = stdout; task.standardInput = [NSPipe pipe]; task.launchPath = @"/tmp/f"; [task launchPath]; [task waitUntilExit]; NSFileHandle *fh = [stderr fileHandleForReading]; NSLog(@"Got handle: %@", fh); [fh readDataToEndOfFile]; NSLog(@"Read it");
OMG 당황스러워! – Gargoyle