obtener-informacion-proceso-nodejs

Obtener información de proceso en Node.js

El módulo process en Node.js proporciona información y control sobre el proceso en el que se ejecuta nuestra aplicación.

Desde la obtención de argumentos de la línea de comandos, la gestión de eventos, o controlar la ejecución de la aplicación.

Ejemplos de uso del módulo Process

Obtener argumentos de la línea de comandos

Podemos utilizar el objeto process para acceder a los argumentos pasados a la aplicación desde la línea de comandos.

import process from 'node:process';

const args = process.argv.slice(2);
console.log('Argumentos de la línea de comandos:', args);

Obtener el directorio de trabajo actual

También podemos utilizar el objeto process para obtener el directorio de trabajo actual de nuestra aplicación.

import process from 'node:process';

const cwd = process.cwd();
console.log('Directorio de trabajo actual:', cwd);

Salir del proceso con un código de salida

El objeto process nos permite controlar la finalización del proceso y especificar un código de salida.

import process from 'node:process';

// Salir con código de salida 0 (éxito)
process.exit(0);

// Salir con código de salida 1 (error)
process.exit(1);

Obtener información sobre el entorno del proceso

Podemos utilizar el objeto process para obtener información sobre el entorno en el que se ejecuta nuestra aplicación, como el ID del proceso, la versión de Node.js, la plataforma, la arquitectura y las variables de entorno.

import process from 'node:process';

console.log('ID del proceso:', process.pid);
console.log('Versión de Node.js:', process.version);
console.log('Plataforma:', process.platform);
console.log('Arquitectura:', process.arch);
console.log('Variables de entorno:', process.env);

Escuchar eventos del proceso

El objeto process nos permite escuchar eventos relacionados con el proceso, como la finalización del proceso, excepciones no capturadas y señales del sistema.

import process from 'node:process';

process.on('exit', (code) => {
  console.log(`Proceso terminado con código de salida: ${code}`);
});

process.on('uncaughtException', (err) => {
  console.error('Excepción no capturada:', err);
});

process.on('SIGINT', () => {
  console.log('Se recibió la señal SIGINT (Ctrl+C)');
  process.exit(0);
});

Cambiar el título de la ventana del proceso

Podemos utilizar el objeto process para cambiar el título de la ventana del proceso.

import process from 'node:process';

process.title = 'Mi Aplicación';
console.log('Título del proceso:', process.title);

Lanzar un proceso

El módulo process también nos permite lanzar procesos secundarios utilizando el método ‘spawn’ del módulo ‘child_process’.

import { spawn } from 'node:child_process';

// Comando para abrir gedit en Linux o macOS
const comando = 'gedit';

// Argumentos opcionales, en este caso no es necesario
const args = [];

const proceso = spawn(comando, args);

proceso.on('error', (err) => {
  console.error('Error al iniciar el proceso:', err);
});

proceso.on('exit', (code) => {
  console.log(`Proceso finalizado con código de salida: ${code}`);
});

Descarga el código

Todo el código de esta entrada está disponible para su descarga en Github github-full