Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

Node.js process.arch 완벽 정리: CPU 아키텍처 확인 방법

process.arch는 현재 실행 중인 Node.js 프로세스가 컴파일된 컴퓨터의 CPU 아키텍처를 문자열로 반환하는 속성입니다. 이 값을 활용하면 운영체제나 하드웨어 환경에 따라 다르게 동작하는 코드를 작성할 수 있습니다.

반환될 수 있는 주요 값은 다음과 같습니다.

  • 'arm', 'arm64' — ARM 계열 프로세서
  • 'ia32', 'x32', 'x64' — Intel/AMD x86 계열 프로세서
  • 'mips', 'mipsel' — MIPS 계열 프로세서
  • 'ppc', 'ppc64' — PowerPC 계열 프로세서

문법

process.arch

참고로 process.arch는 함수가 아니라 속성(property)이므로 괄호 없이 그대로 참조하면 됩니다.

매개변수

process.arch는 별도의 입력값(매개변수)을 받지 않습니다. 단순히 현재 프로세스가 빌드된 시스템의 아키텍처 이름을 문자열로 반환합니다.

예제 1: 기본 사용법

architecture.js라는 이름의 파일을 생성하고 아래 코드를 작성한 뒤, 터미널에서 node architecture.js 명령어로 실행해 보세요.

architecture.js

// Node.js 프로그램: process.arch 사용 예시

// process 모듈 가져오기
const process = require('process');

// 시스템의 아키텍처 출력
console.log(process.arch);

실행 결과

C:\home\node>> node architecture.js
x64

위 예제는 64비트 Intel/AMD 기반 시스템에서 실행되었으므로 x64가 출력되었습니다.

예제 2: switch 문으로 아키텍처별 분기 처리

실무에서는 아키텍처 값에 따라 다른 로직을 수행해야 하는 경우가 많습니다. 아래 예제는 switch 문을 활용해 각 아키텍처에 맞는 메시지를 출력합니다.

// Node.js 프로그램: process.arch 조건 분기 예시

// process 모듈 가져오기
const process = require('process');

// 아키텍처 값에 따라 분기 처리
switch(process.arch) {
    case 'x32':
        console.log("32비트 확장 시스템입니다.");
        break;
    case 'x64':
        console.log("64비트 확장 시스템입니다.");
        break;
    case 'arm':
        console.log("32비트 ARM(Advanced RISC Machine) 시스템입니다.");
        break;
    case 'arm64':
        console.log("64비트 ARM(Advanced RISC Machine) 시스템입니다.");
        break;
    case 'mips':
        console.log("32비트 MIPS(Microprocessor without Interlocked Pipelined Stages) 시스템입니다.");
        break;
    case 'ia32':
        console.log("32비트 Intel 아키텍처 시스템입니다.");
        break;
    case 'ppc':
        console.log("PowerPC 아키텍처 시스템입니다.");
        break;
    case 'ppc64':
        console.log("64비트 PowerPC 아키텍처 시스템입니다.");
        break;
    // 필요에 따라 더 많은 아키텍처를 추가할 수 있습니다.
    default:
        console.log("알 수 없는 아키텍처입니다.");
}

실행 결과

C:\home\node>> node architecture.js
64비트 확장 시스템입니다.

정리

process.arch는 매개변수 없이 호출 가능하며, 현재 Node.js 바이너리가 빌드된 CPU 아키텍처를 나타내는 문자열을 즉시 반환합니다. 네이티브 모듈 설치 여부 판단, 플랫폼별 배포 스크립트 작성, 환경 진단 도구 개발 등 다양한 상황에서 유용하게 활용할 수 있습니다. 참고로 OS 정보까지 함께 확인하고 싶다면 process.platform이나 os.arch(), os.type() 같은 API를 함께 사용하는 것도 좋은 방법입니다.