Функцией Sample Process в Мониторе Действия является вполне полезная вещь. Однако я должен сделать то же самое (возьмите образцы) определенного процесса от другого рабочего процесса (C/C++) или командная строка.
Там какой-либо путь состоит в том, чтобы сделать это? Я гуглил для этого с нескольких дней без любой удачи.
Есть утилита командной строки образец
.
Пример:
sample Safari -file /dev/stdout
Она получит точно такой же вывод с помощью Activity Monitor.
Есть несколько приложений командной строки, которые могут пригодиться: sample
and top
.
Если вы хотите написать свою собственную программу, то для получения такой информации можно воспользоваться системным вызовом sysctl
. Однако, это довольно утомительно.
Я бы порекомендовал установить procfs файловую систему (собранную с MacFUSE). При этом по адресу /proc
будет создан новый "каталог", содержащий много полезной информации для каждого приложения (например, использование памяти, процессора, блокировок, открытых файлов, сокетов, потоков и т.д.). На сайте приведен пример того, как к ней можно получить доступ. Затем вы можете просто написать сценарий доступа к этим файлам.