node.js

process 객체

process 객체

http://nodejs.org/api/process.html

process 객체는 프로그램과 관련된 정보를 나타내는 객체로 속성과 메소드가 많은 편입니다.

 

시스템 정보 관련

예제 

// processExample.js
console.log(process.env);           // 컴퓨터 환경과 관련된 정보를 가진 객체
console.log(process.version);       // node.js의 버전
console.log(process.versions);      // node.js와 연관된 프로그램들의 버전을 가진 객체
console.log(process.arch);          // 프로세서의 아키텍처(arm/ia32/x64)
console.log(process.platform);      // 플랫폼(win32/linux/sunos/freebsd/darwin)
console.log(process.memoryUsage()); // 메모리 사용 정보를 가진 객체
console.log(process.uptime());      // 현재 프로그램이 실행된 시간

많은 속성과 메소드들이 컴퓨터 시스템이나 운영체제와 밀접한 연관이 있습니다. 몇몇 다루지 못한 속성이나 메소드들은 node.js와 관련된 내용이라기보다 운영체제와 같은 내용에 보다 밀접한 연관이 있는 부분이므로 다루지 않았습니다. 위 속성과 메소드들도 직접 사용할 일은 많지 않겠지만 간혹 시스템 정보를 가져오기 위해 사용할 수 있습니다. 자신의 컴퓨터에서 어떻게 출력되는지 한 번 확인해 보세요!

 

process.argv 

예제 

// processArgv.js
process.argv.forEach(function(val, index, array) {
    console.log(index + ': ' + val);
});

실행

$ node processArgv.js one two three
0: node
1: /(path)/processArgv.js
2: one
3: two
4: three

다른 프로그래밍 언어를 다루어 보았다면 익숙할 것입니다. 프로그램의 매개변수 정보를 갖는 속성입니다. 단, node라는 명령어와 프로그램의 이름(경로) 정보까지 포함하므로 추가된 매개변수는 2부터 시작한다는 것만 주의하시면 됩니다.

 

process.exit([code])

이번에는 REPL을 실행시켜 확인해 보겠습니다.

$ node
> console.log("REPL을 실행한 화면입니다.");
REPL을 실행한 화면입니다.
undefined
> process.exit();
$ 

역시 이름에서 알 수 있듯 프로그램을 종료시키는 명령어입니다. 단 매개변수 [code]는 생략 가능하며 기본값은 0입니다. 0은 정상 종료를, 1은 비정상 종료를 의미합니다.

터미널에서 node 명령어를 실행하면 node.js 코드를 입력할 수 있는 대화형 인터프리터가 실행되는데 이를 REPL이라고 부릅니다. Read Eval Print Loop의 약자입니다.
0과 1을 정상 종료, 비정상 종료라고 하는 것은 개발자 사이의 약속일 뿐, 프로그램을 종료한다는 순수 기능은 다르지 않습니다.

댓글

댓글 본문
  1. 나무마루
    정말 감사합니다.
버전 관리
miki
현재 버전
선택 버전
graphittie 자세히 보기