POSIX를 통해 쉘 스크립트에 CPU 스레드가 몇 개 있는지 확인하는 방법은 무엇입니까?

POSIX를 통해 쉘 스크립트에 CPU 스레드가 몇 개 있는지 확인하는 방법은 무엇입니까?

POSIX를 통해 쉘 스크립트에 CPU 스레드가 몇 개 있는지 확인하는 방법은 무엇입니까?

어떻게든 사용할 수 있다는 것을 알고 있지만 을 /proc/cpuinfo사용하여 중복 행 수만 얻을 수 있는 방법은 무엇입니까 grep?

답변1

getconf아마도 가장 휴대성이 뛰어난 것 같습니다.이 점:

#!/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

관련 정보