Прямо сейчас я делаю что-то вроде этого:
NSString *pullProcesses = @"ps axco pid,pcpu,user,command";
system([pullProcesses UTF8String]);
NSLog(pullProcesses);
Однако это немного неэффективно, каждый раз, когда он вызывается, он потребляет около 15% ресурсов ЦП. Есть ли какой-нибудь эффективный способ получить список процессов и объем используемого процессора?
Кроме того, есть ли способ разбить этот список процессов на те, которые принадлежат только пользователю и не являются системными процессами?
Я слышал, что NSTask может работать, но это не проверка всех процессов пользователя, а только тех, которые активны в доке.
Я также читаю кое-что о NSWorkSpace, но я не уверен, как лучше всего это сделать.
Спасибо!