Node.js6 min read

Process and Environment Variables

Access system information and environment variables. Monitor your app health.

Sarah Chen
December 19, 2025
0.0k0

Process and Environment Variables

The `process` object provides runtime information about your Node.js app.

Environment Variables

```javascript const dbHost = process.env.DB_HOST || 'localhost'; const port = process.env.PORT || 3000; const nodeEnv = process.env.NODE_ENV || 'development';

console.log(`Running in ${nodeEnv} mode`); console.log(`Database: ${dbHost}`); console.log(`Port: ${port}`); ```

Using .env Files

```bash npm install dotenv ```

``` # .env DB_HOST=localhost DB_USER=admin DB_PASS=secret123 PORT=3000 ```

```javascript require('dotenv').config();

const dbConfig = { host: process.env.DB_HOST, user: process.env.DB_USER, password: process.env.DB_PASS }; ```

Process Information

```javascript console.log(process.version); console.log(process.platform); console.log(process.arch); console.log(process.cwd()); console.log(process.pid); console.log(process.uptime()); ```

**Output:** ``` v18.17.0 linux x64 /home/user/project 12345 45.234 ```

Memory Usage

```javascript const used = process.memoryUsage();

console.log({ rss: `${Math.round(used.rss / 1024 / 1024)} MB`, heapUsed: `${Math.round(used.heapUsed / 1024 / 1024)} MB`, heapTotal: `${Math.round(used.heapTotal / 1024 / 1024)} MB` }); ```

Real Example: Health Check

```javascript const express = require('express'); const app = express();

app.get('/health', (req, res) => { const health = { uptime: process.uptime(), timestamp: Date.now(), memory: process.memoryUsage(), version: process.version, status: 'ok' }; res.json(health); });

app.listen(3000); ```

Graceful Shutdown

```javascript const express = require('express'); const mongoose = require('mongoose'); const app = express();

const server = app.listen(3000);

process.on('SIGTERM', () => { console.log('SIGTERM received, closing server...'); server.close(() => { console.log('Server closed'); mongoose.connection.close(false, () => { console.log('MongoDB closed'); process.exit(0); }); }); }); ```

Command Line Arguments

```javascript console.log(process.argv); ```

```bash node app.js --port 3000 --env production ```

**Output:** ``` [ '/usr/bin/node', '/path/to/app.js', '--port', '3000', '--env', 'production' ] ```

Exit Process

```javascript if (!process.env.API_KEY) { console.error('API_KEY is required'); process.exit(1); } ```

Key Takeaway

Use `process.env` for configuration. Monitor memory with `memoryUsage()`. Handle `SIGTERM` for graceful shutdown. Use dotenv for environment variables.

#Node.js#Process#Environment#System