这是一个简单的方法来启动可执行文件并返回其标准输出 – 它阻止等待完成:
// Arguments:// atPath: full pathname of executable// arguments: array of arguments to pass,or nil if none// Return:// the standard output,or nil if any error+ (Nsstring *) runcommand:(Nsstring *)atPath withArguments:(NSArray *)arguments{ NSTask *task = [NSTask new]; NSPipe *pipe = [NSPipe new]; [task setStandardOutput:pipe]; // pipe standard output [task setLaunchPath:atPath]; // set path if(arguments != nil) [task setArguments:arguments]; // set arguments [task launch]; // execute NSData *data = [[pipe fileHandleForReading] readDataToEndOffile]; // read standard output [task waitUntilExit]; // wait for completion if ([task terminationStatus] != 0) // check termination status return nil; if (data == nil) return nil; return [Nsstring stringWithUTF8Data:data]; // return stdout as string}
您可能不想阻止,特别是如果这是您的主UI线程,提供标准输入等.
总结以上是内存溢出为你收集整理的objective-c – 使用NSWorkspace launchApplicationAtURL启动应用程序后获取退出状态全部内容,希望文章能够帮你解决objective-c – 使用NSWorkspace launchApplicationAtURL启动应用程序后获取退出状态所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)