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
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
npm install dotenv
# .env
DB_HOST=localhost
DB_USER=admin
DB_PASS=secret123
PORT=3000
require('dotenv').config();
const dbConfig = {
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PASS
};
Process Information
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
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
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
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
console.log(process.argv);
node app.js --port 3000 --env production
Output:
[
'/usr/bin/node',
'/path/to/app.js',
'--port',
'3000',
'--env',
'production'
]
Exit Process
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