Прежде всего, имя процесса не однозначно идентифицирует процесс.Может быть много процессов с одинаковыми именами, или процессы могут даже изменить свое имя, как вы их видите (т. Е. Сервер PostgreSQL разветвляется и изменяет argv [0], чтобы вы могли видеть, кто является хозяином, кто работает процессом и т. Д.).Но в любом случае вам понадобится API для составления списка процессов и получения их подробностей - procps сделает это за вас.
ОБНОВЛЕНИЕ: О, я не заметил OSX в первый раз.Для OS X вы должны использовать NetBSD API (не спрашивайте).Пожалуйста, смотрите документацию KVM (Kernel Data Access Library) .API другой, идея все та же.