Node.jsのprocess.argv0プロパティとは?使い方とprocess.argv[0]との違いを解説
Node.jsでは、アプリケーション起動時に渡された元のargv[0]の値を、読み取り専用のコピーとして保持するための仕組みとしてprocess.argv0が用意されています。このプロパティを参照することで、Node.jsプロセスが起動された際の実行ファイル名を簡単に取得できます。
構文
process.argv0
パラメータ
process.argv0は、保存されているargv[0]の読み取り専用コピーを返すだけのため、ユーザーからの入力(引数)は一切不要です。なお、これは関数ではなくプロパティである点に注意してください。括弧を付けて呼び出すのではなく、単純に参照するだけで値が取得できます。
使用例1:process.argv0の基本
まず、「argv0.js」という名前のファイルを作成し、以下のコードをコピーしてください。ファイルを作成したら、次のコマンドでコードを実行します。
node argv0.js
argv0.js
// process.argv0 の使い方を示すNode.jsプログラム
// processモジュールのインポート
const process = require('process');
// プロセスのargv0の値を出力
console.log(process.argv0);
出力結果
C:\home\node>> node argv0.js node
実行すると、起動時に渡された元の実行ファイル名である「node」が出力されます。
使用例2:process.argv[0]との比較
続いて、よく似た名前を持つprocess.argv[0]を使った場合の出力も確認してみましょう。
// process.argv[0] の使い方を示すNode.jsプログラム
// processモジュールのインポート
const process = require('process');
// process.argv[0] の値を出力
console.log(process.argv[0]);
出力結果
C:\home\node>> node argv0.js /usr/bin/node
両者の違いまとめ
このように、process.argv0は起動時に渡された元の値を読み取り専用で保持しているのに対し、process.argv[0]は実際に実行されたNode.jsバイナリへのパス(絶対パスになる場合もあります)を指します。実行環境によって表示される値が異なるのはこのためです。スクリプト内で安定して元の起動時の値が必要な場合は、process.argv0を使用するのが適切です。
-
【Node.js入門】process.argvでコマンドライン引数を取得する方法
process.argv は、Node.js プロセスの起動時にコマンドラインから渡されたすべての引数を配列として返すプロパティです。配列の最初の要素には必ず process.execPath と同じ値(Node.js 実行バイナリへの絶対パス)が含まれ、2番目の要素には実行中のJavaScriptファイルのパスが格納されます。それ以降の要素には、ユーザーが指定した追加の引数が順番に並びます。 構文 process.argv パラメータ process.argv は、Node.js プロセス起動時に渡されたコマンドライン引数をすべて取得するためのものであり、ユーザーが何かを入力する必要はありま
-
Node.jsのprocess.archでCPUアーキテクチャを取得する方法
Node.jsのprocess.archは、現在のNode.jsプロセスがコンパイルされたCPUアーキテクチャを取得するためのプロパティです。なお、process.archは関数ではなく文字列型のプロパティであるため、呼び出し時に括弧()は不要です。返される主な値には、arm、arm64、ia32、mips、mipsel、ppc、ppc64、x32、x64などがあります。構文process.archパラメータと戻り値process.archは引数を受け取りません。実行中のコードがコンパイルされた環境のアーキテクチャ名を、文字列としてそのまま返します。主な戻り値の一覧x64: 64ビットx86互