Выберите процесс на Mac OS X из программы C/C++

Функцией Sample Process в Мониторе Действия является вполне полезная вещь. Однако я должен сделать то же самое (возьмите образцы) определенного процесса от другого рабочего процесса (C/C++) или командная строка.

Там какой-либо путь состоит в том, чтобы сделать это? Я гуглил для этого с нескольких дней без любой удачи.

7
задан Chirag 31 December 2009 в 20:16
поделиться

2 ответа

Есть утилита командной строки образец .

Пример:

sample Safari -file /dev/stdout

Она получит точно такой же вывод с помощью Activity Monitor.

12
ответ дан 6 December 2019 в 15:23
поделиться

Есть несколько приложений командной строки, которые могут пригодиться: sample and top.

Если вы хотите написать свою собственную программу, то для получения такой информации можно воспользоваться системным вызовом sysctl. Однако, это довольно утомительно.

Я бы порекомендовал установить procfs файловую систему (собранную с MacFUSE). При этом по адресу /proc будет создан новый "каталог", содержащий много полезной информации для каждого приложения (например, использование памяти, процессора, блокировок, открытых файлов, сокетов, потоков и т.д.). На сайте приведен пример того, как к ней можно получить доступ. Затем вы можете просто написать сценарий доступа к этим файлам.

2
ответ дан 6 December 2019 в 15:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: