Возврат списка запущенных фоновых приложений / процессов в iOS - PullRequest
3 голосов
/ 06 мая 2011

Я работаю над приложением для джейлбрейка и хочу отправить SIGKILL сообщения определенным приложениям, которые могут работать на устройстве пользователя (с их разрешения, конечно).

Google мне ничего не показывает. Есть ли список или массив, который отслеживает запущенные процессы?

Спасибо за любую помощь, которую вы все можете оказать, вы прекрасны!

1 Ответ

3 голосов
/ 13 января 2012

Создайте API sysctl и получите структуру kinfo_proc http://fxr.watson.org/fxr/source/sys/kinfo.h?v=DFBSD. Эта структура содержит информацию о запущенных процессах. Вы можете запускать ее в цикле, пока не получите информацию обо всех процессах. Вот фрагмент кода - расширьте его, чтобы получить информацию обо всех процессах

mib[0] = CTL_KERN;   
mib[1] = KERN_PROC;  
mib[2] = KERN_PROC_ALL; 
mib[3] = 0;  
ret = sysctl(mib, 4, NULL, &size, NULL, 0); 
procs = malloc(size);
ret = sysctl(mib, 4, procs, &size, NULL, 0); /* procs is struct kinfo_proc.*/
...