在一个小应用程序中,我正在运行一个终端命令 drutil erase。我正在使用一个NSTask
. 当您在终端中执行此命令时,它会显示一个不断更新的 ASCII 进度条。但是,我无法在我的输出管道或错误管道中使用我的NSTask
. 有谁知道如何获得 drutil 进程的百分比?
问问题
558 次
1 回答
1
使用 asynctask.m 您可以在 Terminal.app 中将 curl 的进度指示器打印到 stderr!
这种方法也适用于“drutil erase”。
// asynctask.m code is available at:
// http://www.cocoadev.com/index.pl?NSPipe
fprintf(stderr, "\r\033[0K%s", [s UTF8String]);
也许通过 NSTask 打印 ASCII 进度条的另一种方法是将上面的 fprintf 行与 PseudoTTY.app 结合起来,它使用伪 ttys 而不是用于行缓冲的进程间流的管道。
于 2011-01-17T15:18:53.310 回答