Node.js에서 process.argv0는 노드 애플리케이션이 시작될 때 전달된 argv[0]의 원래 값에 대한 읽기 전용(read-only) 복사본을 저장하는 속성입니다. 프로세스가 실행된 이후에도 원래의 argv[0] 값을 그대로 참조할 수 있어야 할 때 유용하게 활용됩니다.
문법(Syntax)
process.argv0
매개변수(Parameters)
process.argv0는 저장된 argv[0] 값의 읽기 전용 복사본만을 반환하기 때문에, 사용자로부터 별도의 입력값을 받지 않습니다. 즉, 어떤 매개변수도 필요하지 않습니다.
예제 1: 기본 사용법
먼저 argv0.js라는 이름의 파일을 생성하고 아래 코드를 복사한 뒤, 다음 명령어로 실행해 보겠습니다.
node argv0.js
argv0.js
// process.argv0 사용 예제
// process 모듈 불러오기
const process = require('process');
// 현재 프로세스의 argv0 값 출력
console.log(process.argv0);
실행 결과
C:\home\node>> node argv0.js
node
위 출력 결과에서 알 수 있듯이, process.argv0는 Node.js 실행 파일의 이름인 node만을 반환합니다.
예제 2: process.argv[0]와의 차이점 비교
이번에는 process.argv[0]를 출력하여 두 값의 차이를 확인해 보겠습니다.
// process.argv[0] 사용 예제
// process 모듈 불러오기
const process = require('process');
// process.argv[0] 속성 값 출력
console.log(process.argv[0]);
실행 결과
C:\home\node>> node argv0.js
/usr/bin/node
핵심 정리: process.argv0 vs process.argv[0]
두 속성은 비슷해 보이지만 반환하는 값에 중요한 차이가 있습니다.
1. process.argv0
애플리케이션 시작 시 전달된 argv[0]의 원래 값에 대한 읽기 전용 복사본을 반환합니다. 일반적으로 node처럼 실행 파일의 이름만 표시됩니다.
2. process.argv[0]
Node.js 실행 파일의 전체 경로(예: /usr/bin/node)를 반환합니다.
따라서 실행 파일의 이름 자체가 필요하다면 process.argv0를, 실행 파일의 절대 경로가 필요하다면 process.argv[0]를 사용하는 것이 적절합니다.