Я в основном ищу для создания функции оптимизации памяти (ОЗУ), как указано в следующих приложениях. (Для iPhone SDK)iPhone app kill process
https://itunes.apple.com/us/app/memory-100-pro/id644853504?mt=8 https://itunes.apple.com/th/app/memory-pro/id483447668?mt=8
Эта функция в основном убивает третьей стороной процесса приложение фона для достижения того же.
Может ли кто-нибудь объяснить мне, как я могу найти, что конкретный процесс не является системным процессом и убивает процесс.
Я использую следующий код, чтобы получить список процессов с идентификатором процесса.
struct kinfo_proc *procs = NULL, *newprocs;
char thiscmd[MAXCOMLEN + 1];
pid_t thispid;
int mib[4];
size_t miblen;
int i, st, nprocs;
size_t size;
size = 0;
mib[0] = CTL_KERN;
mib[1] = KERN_PROC;
mib[2] = KERN_PROC_ALL;
mib[3] = 0;
miblen = 3;
st = sysctl(mib, miblen, NULL, &size, NULL, 0);
do {
size += size/10;
newprocs = realloc(procs, size);
if (newprocs == 0) {
if (procs)
free(procs);
errx(1, "could not reallocate memory");
}
procs = newprocs;
st = sysctl(mib, miblen, procs, &size, NULL, 0);
} while (st == -1 && errno == ENOMEM);
nprocs = size/sizeof(struct kinfo_proc);
/* Now print out the data */
for (i = 0; i < nprocs; i++) {
thispid = procs[i].kp_proc.p_pid;
strncpy(thiscmd, procs[i].kp_proc.p_comm, MAXCOMLEN);
thiscmd[MAXCOMLEN] = '\0';
printf("%d\t%s\n", thispid, thiscmd);
NSString * processName = [[NSString alloc] initWithFormat:@"%s", procs[i].kp_proc.p_comm];
if([processName isEqualToString:@"templerunbrave"])
kill(thispid, SIGKILL);
}
/* Clean up */
free(procs);
Это для джейлбрейковых телефонов или для магазина приложений? – Nate
Указанные приложения ничего не убивают –
Его для магазина приложений @Nate. –