Как вы можете сказать, из командной строки, сколько ядер находится на компьютере, когда вы используете Mac OS X? В Linux я использую:
x=$(awk '/^processor/ {++n} END {print n+1}' /proc/cpuinfo)
Это не идеально, но это близко. Это предназначено для подачи на make
, поэтому он дает результат 1 выше фактического числа. И я знаю, что приведенный выше код может быть написан более плотным в Perl или может быть написан с использованием grep, wc и cut, но я решил, что это было хорошим компромиссом между лаконичностью и удобочитаемостью.
ОЧЕНЬ ПОСЛЕДНИЙ РЕДАКТИРОВАТЬ: Просто пояснить: я спрашиваю, сколько логических ядер доступно, потому что это соответствует тому, сколько одновременных заданий я хочу, чтобы make
появлялся. Ответ jkp, уточненный Крисом Ллойдом, был именно тем, что мне нужно. YMMV.