Módulo módulo básico

proceso del módulo

Módulo de procesamiento de procesos, utilizado para gestionar los recursos del proceso actual.

Método de referencia:

1
var process = require('process');

procesar eventos

El objeto del módulo de proceso esEventEmitterLas instancias pueden responder a eventos a nivel de proceso registrando detectores de eventos.

antes del evento de salida

Cuando la tarea fibjs esté vacía y no se agregue trabajo adicional, beforeExitse activará el evento

1
process.on('beforeExit', exitCode => {});

Normalmente, si no se agrega trabajo adicional a la cola de tareas, el proceso fibjs finalizará. Pero si beforeExitse inicia una nueva tarea en la función de devolución de llamada del oyente vinculado a eventos, como iniciar una fibra, entonces el proceso fibjs continuará ejecutándose.

process.exitCodePasado como único valor de parámetro a beforeExitla función de devolución de llamada del detector de eventos. Si el proceso está a punto de finalizar por razones explícitas, como llamar directamenteprocess.exitO lanza una excepción no detectada y beforeExitel evento no se activará.

evento de salida

Cuando fibjs sale, el evento exitse activará. Una vez que todos exitlos oyentes vinculados al evento hayan completado la ejecución, el proceso finalizará.

1
process.on('exit', exitCode => {});

exitLa función de devolución de llamada del detector de eventos tiene solo un parámetro de entrada. El valor de este parámetro puede serprocess.exitCodevalor de atributo o llamadaprocess.exitEl valor pasado al método exitCode.

evento de señal

Cuando el proceso fibjs recibe una señal, se activará un evento de señal. Las señales actualmente admitidas son SIGINT y SIGTERM. Cada nombre de evento se expresa en letras mayúsculas del nombre de la señal (por ejemplo, el evento 'SIGINT' corresponde a la señal SIGINT).

Los eventos de señal son diferentes de otros eventos de proceso. Los eventos de señal se adelantan. Cuando ocurre una señal, sin importar cuál sea la corriente.ioLas operaciones, ya sean operaciones de JavaScript, activarán el evento correspondiente lo antes posible. Por ejemplo, puede utilizar el siguiente código para interrumpir la aplicación actual y mostrar el estado de ejecución:

1 2 3 4 5 6
var coroutine = require('coroutine'); process.on('SIGINT', () => { coroutine.fibers.forEach(f => console.error("Fiber %d:\n%s", f.id, f.stack)); process.exit(); });

Los nombres de las señales y sus significados son los siguientes:

  • SIGINT: cuando se ejecuta en la terminal, puede ser compatible con todas las plataformas y, por lo general, se puede activar con CTRL+C.
  • SIGTERM: Esta señal se activa cuando se finaliza el proceso. No es compatible con Windows.

función estática

umask

Cambie la máscara de usuario actual, Windows no admite este método

1
static Integer process.umask(Integer mask);

Parámetros de llamada:

  • mask: Entero, especifique una nueva máscara

Resultados de devolución:

  • Integer, volver a la máscara anterior

Cambie la máscara de usuario actual, Windows no admite este método

1
static Integer process.umask(String mask);

Parámetros de llamada:

  • mask: Cadena, especifica la nueva máscara, tipo de cadena octal (por ejemplo: "0664")

Resultados de devolución:

  • Integer, volver a la máscara anterior

Devuelve la máscara de usuario actual. Windows no admite este método.

1
static Integer process.umask();

Resultados de devolución:

  • Integer, devuelve el valor de máscara actual

hrtime

Devuelve la hora de alta precisión del sistema. Esta hora no tiene nada que ver con la hora actual y solo se utiliza para sincronización de alta precisión.

1
static Array process.hrtime(Array diff = []);

Parámetros de llamada:

  • diff: Matriz, tiempo inicial utilizado para la comparación

Resultados de devolución:

  • Array, devuelve el tiempo en el formato [segundos, nanosegundos]

exit

Salga del proceso actual y devuelva exitCode como resultado del proceso.

1
static process.exit();

Salir del proceso actual y devolver el resultado.

1
static process.exit(Integer code);

Parámetros de llamada:

  • code: Entero, devuelve el resultado del proceso.

cwd

Devuelve la ruta de trabajo actual del sistema operativo.

1
static String process.cwd();

Resultados de devolución:

  • String, devuelve la ruta actual del sistema

dlopen

Carga dinámica de complementos de C++

1 2 3
static process.dlopen(Object module, String filename, Integer flags = 1);

Parámetros de llamada:

  • module: Objeto, especifica el módulo a cargar
  • filename: Cadena, especifica el nombre del archivo del módulo que se cargará
  • flags: Entero, especifica la forma de cargar el módulo, el valor predeterminado es 1

chdir

Modificar la ruta de trabajo actual del sistema operativo.

1
static process.chdir(String directory);

Parámetros de llamada:

  • directory: Cadena, especifique la nueva ruta de la configuración

uptime

Consultar el tiempo de ejecución del entorno en ejecución, en segundos.

1
static Number process.uptime();

Resultados de devolución:

  • Number, devuelve un valor numérico que representa el tiempo

cpuUsage

Consulta el tiempo empleado por el proceso actual en el código de usuario y del sistema, el valor es un valor de microsegundo (millonésimas de segundo)

1
static Object process.cpuUsage(Object previousValue = {});

Parámetros de llamada:

  • previousValue: Objeto, especifica la hora de la última consulta.

Resultados de devolución:

  • Object, devuelve un informe que contiene la hora

El informe de memoria produce resultados similares a los siguientes:

1 2 3 4
{ "user": 132379, "system": 50507 }

en:

  • El usuario devuelve el tiempo que pasó el proceso en el código de usuario.
  • El sistema devuelve el tiempo que pasó el proceso en el código del sistema.

memoryUsage

Consultar el informe de uso de memoria del proceso actual.

1
static Object process.memoryUsage();

Resultados de devolución:

  • Object, devuelve un informe que contiene memoria

El informe de memoria produce resultados similares a los siguientes:

1 2 3 4 5
{ "rss": 8622080, "heapTotal": 4083456, "heapUsed": 1621800 }

en:

  • rss devuelve el tamaño de memoria física actual ocupado por el proceso
  • heapTotal devuelve el tamaño de la memoria del montón del motor v8
  • heapUsed devuelve el tamaño de la memoria dinámica que utiliza el motor v8

nextTick

iniciar una fibra

1 2
static process.nextTick(Function func, ...args);

Parámetros de llamada:

  • func: Función, especifica la función ejecutada por la fibra.
  • args: ..., una secuencia variada de argumentos que se pasarán a la función dentro de la fibra

binding

Obtenga el módulo interno con el nombre especificado

1
static Value process.binding(String name);

Parámetros de llamada:

  • name: Cadena, especifica el nombre del módulo interno que se consultará

Resultados de devolución:

  • Value, devuelve el módulo interno especificado

getgid

Consultar la identificación del grupo del proceso actual.

1
static Integer process.getgid();

Resultados de devolución:

  • Integer, devuelve la identificación del grupo del proceso actual

getuid

Consultar el ID de usuario del proceso actual.

1
static Integer process.getuid();

Resultados de devolución:

  • Integer, devuelve la identificación de usuario del proceso actual

setgid

Establecer la identificación del grupo del proceso actual

1
static process.setgid(Integer id);

Parámetros de llamada:

  • id: Entero, especifique la identificación del grupo que se establecerá

setuid

Establecer la identificación de usuario del proceso actual

1
static process.setuid(Integer id);

Parámetros de llamada:

  • id: Entero, especifique el ID de usuario que se configurará

emitWarning

Emita advertencias de proceso personalizadas o específicas de la aplicación. Estos eventos se pueden escuchar agregando un controlador al evento de 'advertencia'

1 2
static process.emitWarning(Value warning, Object options);

Parámetros de llamada:

  • warning: Valor, especifica la advertencia que se emitirá
  • opciones: Objeto, opciones para especificar advertencias

    Las opciones incluyen lo siguiente:

1 2 3 4 5
{ "type": "Warning", // specifies the name of the type of warning issued. Default value: 'Warning' "code": "", // specify the unique identifier of the warning instance issued "detail": "" // specify additional text for warnings }

Cómo usarlo:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
const { emitWarning } = require('process'); // Emit a warning with a code and additional detail. emitWarning('Something happened!', { code: 'MY_WARNING', detail: 'This is some additional information', }); process.on('warning', (warning) => { console.warn(warning.name); // 'Warning' console.warn(warning.message); // 'Something happened!' console.warn(warning.code); // 'MY_WARNING' console.warn(warning.stack); // Stack trace console.warn(warning.detail); // 'This is some additional information' });

Emita advertencias de proceso personalizadas o específicas de la aplicación. Estos eventos se pueden escuchar agregando un controlador al evento de 'advertencia'

1 2 3
static process.emitWarning(Value warning, String type = "Warning", String code = "");

Parámetros de llamada:

  • warning: Valor, especifica la advertencia que se emitirá
  • type: Cadena, especifica el nombre del tipo de advertencia que se emitirá. Valor predeterminado: 'Advertencia'
  • code: Cadena, especifica el identificador único de la instancia de advertencia emitida

disconnect

Cierre la tubería ipc al proceso principal

1
static process.disconnect();

send

Enviar un mensaje al proceso padre.

1
static process.send(Value msg);

Parámetros de llamada:

  • msg: Valor, especifica el mensaje a enviar

propiedades estáticas

argv

Matriz, devuelve los parámetros de la línea de comando del proceso actual

1
static readonly Array process.argv;

execArgv

Matriz, devuelve los parámetros especiales de la línea de comando del proceso actual. Estos parámetros son utilizados por fibjs para configurar el entorno de ejecución.

1
static readonly Array process.execArgv;

version

Cadena, devuelve la cadena de la versión fibjs

1
static readonly String process.version;

versions

Objeto, devuelve la información de versión de fibjs y componentes.

1
static readonly Object process.versions;

execPath

Cadena, consulta la ruta completa del archivo de ejecución actualmente en ejecución

1
static readonly String process.execPath;

env

Objeto, consulta las variables de entorno del proceso actual.

1
static readonly Object process.env;

arch

Cadena, consulta el entorno actual de la CPU, los resultados posibles son 'amd64', 'arm', 'arm64', 'ia32'

1
static readonly String process.arch;

platform

Cadena, consulta el nombre de la plataforma actual, los resultados posibles son 'darwin', 'freebsd', 'linux' o 'win32'

1
static readonly String process.platform;

pid

Entero, lee la identificación del proceso al que apunta el objeto actual

1
static readonly Integer process.pid;

ppid

Entero, lee la identificación del proceso principal al que apunta el objeto actual

1
static readonly Integer process.ppid;

stdin

Stream, consulta el objeto de entrada estándar del proceso actual, enttyzhongweiTTYInputStream, de lo contrarioStream

1
static readonly Stream process.stdin;

stdout

Stream, consulta el objeto de salida estándar del proceso actual, enttyzhongweiTTYOutputStream, de lo contrarioStream

1
static readonly Stream process.stdout;

stderr

Stream, consulta el objeto de salida de error estándar del proceso actual, enttyzhongweiTTYOutputStream, de lo contrarioStream

1
static readonly Stream process.stderr;

exitCode

Entero, consulta y establece el código de salida del proceso actual

1
static Integer process.exitCode;

connected

Booleano, consulta si la tubería con el proceso principal está conectada normalmente

1
static readonly Boolean process.connected;