вы можете использовать sysctl
для получения доступных процессов. вопрос SO "Можем ли мы получить приложения, которые в настоящее время работает на iPhone и iPad?" есть ответ, который должен работать для macOS… я попробовал, просто поместив код в ответ в новый проект macOS Xcode 4.4, #импортировав и выполнив NSLog в массиве результатов, а не чем возвращать его, и он аккуратно отображает собранный массив имен процессов и идентификаторов.
и хотя в struct kinfo_proc
и его вложенном struct extern_proc
содержится огромное количество информации, к сожалению для вас, я не вижу простого способа получить информацию о памяти для отдельных процессов.
для этого вы можете обратиться к libtop.c
, что Предложение Apple с открытым исходным кодом. связанная версия взята из библиотеки MacOS X 10.8.
в любом случае, если вы объедините извлечение доступных процессов из sysctl с кодом извлечения информации о процессах в libtop.c, вы должны получить программное решение именно для того, что вы ищете.
и... с другой стороны... если вы не возражаете против выполнения очень небольшого синтаксического анализа по сравнению с работой, которая потребуется, попробуйте ответ SO Вы можете использовать NSTask , только замените ps aux -m
там, где этот вопрос выполняет "grep". вам нужно получить только первую реальную строку вывода из потока, и вам придется проанализировать пробелы, чтобы добраться до столбца, содержащего информацию RSS, но это может быть проще, чем получить то, что вы хотите, через libtop.c , смотря для чего он вам нужен.
person
john.k.doe
schedule
17.08.2012