Node.js のグローバルオブジェクト process は、require でインポートすることなく、現在実行中のプロセスに関する情報取得と制御を提供します。
コマンドライン引数と環境変数
// コマンドライン引数の配列
// 実行例: node script.js --mode=prod input.txt
process.argv;
// => ['/path/to/node', '/path/to/script.js', '--mode=prod', 'input.txt']
// 環境変数オブジェクト
const port = process.env.PORT || 3000;
const isDev = process.env.NODE_ENV !== 'production';
// プロセス ID とプラットフォームアーキテクチャ
process.pid; // Process ID integer
process.platform; // 'darwin', 'linux', 'win32'
process.arch; // 'x64', 'arm64'
作業ディレクトリの操作
// 現在のカレント作業ディレクトリ
console.log(process.cwd()); // e.g. "/Users/project"
// カレント作業ディレクトリを変更
process.chdir('/tmp');
プロセスの終了と終了コード (Exit Codes)
// 正常終了 (終了コード 0)
process.exit(0);
// エラー終了 (非ゼロの終了コード)
process.exit(1);
// 終了イベントのハンドリング
process.on('exit', (code) => {
console.log(`Process exited with code: ${code}`);
});
// 未捕捉の例外を捕捉
process.on('uncaughtException', (err) => {
console.error('Fatal crash:', err);
process.exit(1);
});