POSIX-シェルスクリプト内にあるCPUスレッドの数を確認する方法は?
どういうわけか/proc/cpuinfo
を使用できることは知っていますが、おそらくgrep
を使用して、繰り返し行の数だけを取得する方法はありますか?
getconf
が最も移植性が高い可能性があります。たとえば、 this Gist :を参照してください。
#!/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