Skip to content

os

Since v8.0.73

os 모듈은 JSH 애플리케이션에서 사용할 수 있는 Node.js 호환 운영체제 정보 API를 제공합니다.

arch()

CPU 아키텍처를 반환합니다.

사용 형식
arch()
사용 예시
1
2
const os = require('os');
console.println(os.arch());

platform()

darwin, linux, windows 같은 플랫폼 이름을 반환합니다.

사용 형식
platform()

type()

Darwin, Linux, Windows_NT 같은 OS 타입 문자열을 반환합니다.

사용 형식
type()

release()

커널 릴리스/버전 문자열을 반환합니다.

사용 형식
release()

hostname()

호스트 이름을 반환합니다.

사용 형식
hostname()

homedir()

현재 사용자 홈 디렉터리 경로를 반환합니다.

사용 형식
homedir()

tmpdir()

운영체제 기본 임시 디렉터리 경로를 반환합니다.

사용 형식
tmpdir()

endianness()

CPU 엔디언을 반환합니다. 값은 BE 또는 LE입니다.

사용 형식
endianness()

EOL

플랫폼별 줄바꿈 문자열입니다.

  • POSIX: \n
  • Windows: \r\n
사용 예시
1
2
const os = require('os');
console.println(JSON.stringify(os.EOL));

totalmem(), freemem()

시스템 전체/가용 메모리(바이트)를 반환합니다.

사용 형식
totalmem()
freemem()
사용 예시
1
2
3
const os = require('os');
console.println('total:', os.totalmem());
console.println('free :', os.freemem());

uptime()

시스템 업타임(초)을 반환합니다.

사용 형식
uptime()

bootTime()

시스템 부팅 시각(Unix timestamp)을 반환합니다.

사용 형식
bootTime()

loadavg()

로드 평균을 [1분, 5분, 15분] 배열로 반환합니다.

사용 형식
loadavg()

cpus()

CPU 코어별 정보 배열을 반환합니다.

각 항목에는 다음과 같은 필드가 포함됩니다.

  • model, speed, cores
  • vendor, family, model, stepping
  • times.user, times.nice, times.sys, times.idle, times.irq (밀리초)
사용 형식
cpus()
사용 예시
1
2
3
const os = require('os');
const list = os.cpus();
console.println(Array.isArray(list), list.length > 0);

cpuCounts()

CPU 개수를 반환합니다.

  • true: 논리 코어 수
  • false: 물리 코어 수
사용 형식
cpuCounts(logical)

cpuPercent()

CPU 사용률(%) 배열을 반환합니다.

  • intervalSec: 샘플링 간격(초), 0이면 즉시 값
  • perCPU: true면 코어별 배열 반환
사용 형식
cpuPercent(intervalSec, perCPU)
사용 예시
1
2
const os = require('os');
console.println(Array.isArray(os.cpuPercent(0, true)));

networkInterfaces()

네트워크 인터페이스 정보를 객체로 반환합니다.

반환 형태는 다음과 같습니다.

  • key: 인터페이스 이름
  • value: 주소 정보 배열
    • address
    • family (IPv4/IPv6)
    • internal (boolean)
사용 형식
networkInterfaces()

hostInfo()

호스트 시스템 정보 객체를 반환합니다.

주요 필드는 다음과 같습니다.

  • hostname, uptime, bootTime, procs
  • os, platform, platformFamily, platformVersion
  • kernelVersion, kernelArch
  • virtualizationSystem, virtualizationRole, hostId
사용 형식
hostInfo()

userInfo()

현재 사용자 정보를 반환합니다.

반환 필드:

  • username, homedir, shell
  • uid, gid
사용 형식
userInfo([options])

diskPartitions()

디스크 파티션 목록을 반환합니다.

사용 형식
diskPartitions([all])
사용 예시
1
2
3
const os = require('os');
const parts = os.diskPartitions();
console.println(Array.isArray(parts), parts.length >= 0);

diskUsage()

지정한 경로의 디스크 사용량 정보를 반환합니다.

일반적으로 total, used, free, usedPercent 필드를 포함합니다.

사용 형식
diskUsage(path)

diskIOCounters()

디스크 I/O 카운터를 반환합니다.

  • names 생략/빈 배열: 전체 디바이스
  • names 지정: 선택한 디바이스
사용 형식
diskIOCounters([names])

netProtoCounters()

네트워크 프로토콜 카운터를 반환합니다.

사용 형식
netProtoCounters([proto])

constants

OS 상수 객체입니다.

주요 필드
  • constants.signals
    • SIGHUP, SIGINT, SIGQUIT, SIGILL, SIGTRAP, SIGABRT, SIGBUS, SIGFPE, SIGKILL, SIGUSR1, SIGSEGV, SIGUSR2, SIGPIPE, SIGALRM, SIGTERM
  • constants.priority
    • PRIORITY_LOW, PRIORITY_BELOW_NORMAL, PRIORITY_NORMAL, PRIORITY_ABOVE_NORMAL, PRIORITY_HIGH, PRIORITY_HIGHEST
사용 예시
1
2
3
const os = require('os');
console.println(os.constants.signals.SIGINT);
console.println(os.constants.priority.PRIORITY_NORMAL);
최근 업데이트