process 객체
http://nodejs.org/api/process.html
- process
- Event: 'exit'
- Event: 'uncaughtException'
- Signal Events
- process.stdout
- process.stderr
- process.stdin
- process.argv
- process.execPath
- process.execArgv
- process.abort()
- process.chdir(directory)
- process.cwd()
- process.env
- process.exit([code])
- process.getgid()
- process.setgid(id)
- process.getuid()
- process.setuid(id)
- process.getgroups()
- process.setgroups(groups)
- process.initgroups(user, extra_group)
- process.version
- process.versions
- process.config
- process.kill(pid, [signal])
- process.pid
- process.title
- process.arch
- process.platform
- process.memoryUsage()
- process.nextTick(callback)
- process.maxTickDepth
- process.umask([mask])
- process.uptime()
- process.hrtime()
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을 정상 종료, 비정상 종료라고 하는 것은 개발자 사이의 약속일 뿐, 프로그램을 종료한다는 순수 기능은 다르지 않습니다.