如何通过 POSIX 方式找出 shell 脚本中有多少个 CPU 线程?
我知道我可以以某种方式使用/proc/cpuinfo
,但是如何仅获取重复行的计数,也许使用grep
?
答案1
#!/bin/sh
# Linux and similar...
CPUS=$(getconf _NPROCESSORS_ONLN 2> /dev/null) ||
# FreeBSD (and derivatives), OpenBSD, MacOS and similar...
CPUS=$(getconf NPROCESSORS_ONLN 2> /dev/null) ||
# Solaris and similar...
CPUS=$(ksh93 -c 'getconf NPROCESSORS_ONLN' 2> /dev/null) ||
# Give up...
CPUS=1