Вы можете передать machdep.cpu.brand_string
в sysctl, чтобы получить искомую строку.
[ben@imac ~]$ sysctl machdep.cpu.brand_string
machdep.cpu.brand_string: Intel(R) Core(TM) i5-2400S CPU @ 2.50GHz
Та же информация предоставляется через функции sysctl(3)
.
[ben@imac ~]$ cat sys.c
#include <sys/types.h>
#include <sys/sysctl.h>
#include <stdio.h>
int main(int argc, char *argv[]) {
char buf[100];
size_t buflen = 100;
sysctlbyname("machdep.cpu.brand_string", &buf, &buflen, NULL, 0);
printf("%s\n", buf);
}
[ben@imac ~]$ ./sys
Intel(R) Core(TM) i5-2400S CPU @ 2.50GHz