[Node.js] 프로세스 객체

process 객체는 프로그램을 실행했을 때 만들어지는 프로세스 정보를 다룬 객체이다.

argv: 프로세스를 실행할 때 전달되는 파라미터(매개변수) 정보
env: 환경 변수 정보
exit(): 프로세스를 끝내는 메소드

process.argv

console.log('argv 속성의 파라미터 수: ' + process.argv.length);
console.dir(process.argv);
cs

이 코드를 실행하면 파라미터의 개수와 그 값들을 볼 수 있다.

argv 속성의 파라미터 수: 2
[
  'C:\\Program Files\\nodejs\\node.exe',
  'C:\\Users\\heojj\\brackets-nodejs\\NodeExample1\\ch02_test2.js'
]
Program exited with code 0
cs

자바스크립트 파일을 실행하기 위해 사용한 node.exe 파일이 첫번째 파라미터, 자바스크립트 파일의 패스가 두번째 파라미터가 된다. 파일을 실행할 때 파라미터를 더 넣어주면 argv 속성에 그 파라미터가 추가된다.

if (process.argv.length > 2){
    console.log('세 번째 파라미터: %s', process.argv[2]);
}
 
process.argv.forEach(function(item, index) {
    console.log(index + ' : ' + item);
});
cs

다음 코드로 자바스크립트 파일을 인자를 넘겨주고 실행하면 세번째 파라미터의 값이 출력된다.

node ch02_test2.js __port 7001
cs

forEach() 메소드를 통해 인자의 정보가 각각 표시될 것이다.

process.env

이제 프로세스 객체의 env 속성을 이용해서 환경 변수의 값을 확인해보자. 윈도우의 시스템 환경 변수로 OS 환경 변수가 있다. 이 값을 확인해보자.

console.dir(process.env);
console.log('OS 환경변수의 값: ' + process.env(OS));
cs

이 코드를 실행하면 아마 오류가 발생할 것이다. 노드의 process.env 속성에 사용자 정의 환경 변수(user variables)만 들어 있기 때문이다. 따라서 process.env 객체에 들어 있는 속성만으로는 OS와 같은 시스템 환경 변수(system variables)에 접근할 수 없다.
이 오류를 해결하고 시스템 변수에 접근하려면 모듈의 이해가 필요하다.

댓글 없음:

Powered by Blogger.