читать ASCII индикатор выполнения NSTask - PullRequest
2 голосов
/ 11 декабря 2010

В небольшом приложении я запускаю команду терминала, друтил стереть.Я использую NSTask.Когда вы выполните эту команду в терминале, она покажет вам индикатор выполнения ASCII, который постоянно обновляется.Однако я не могу прочитать эту информацию в моей выходной или ошибочной трубе, используя мой NSTask.У кого-нибудь есть идеи как получить процент от процесса друтила?

1 Ответ

1 голос
/ 17 января 2011

Используя asynctask.m, вы можете распечатать индикатор прогресса curl в stderr в Terminal.app!

Этот подход должен работать и для "drutil erase".

// asynctask.m code is available at:  
// http://www.cocoadev.com/index.pl?NSPipe
fprintf(stderr, "\r\033[0K%s", [s UTF8String]);

Возможно, еще один способ напечатать индикатор выполнения ASCII через NSTask - объединить приведенную выше строку fprintf с PseudoTTY.app, который использует псевдо-ttys вместо каналов для потоковых буферов между процессами.

http://www.cocoadev.com/index.pl?NSTask

...