Módulo módulo básico

Proceso del módulo

Módulo de procesamiento de procesos para administrar los recursos del proceso actual

Método de referencia:

1
var process = require('process');

Evento de proceso

El objeto del módulo de proceso es EventEmitter Por ejemplo, puede responder a eventos a nivel de proceso registrando oyentes de eventos.

antes del evento de salida

Cuando la misión de fibjs ha estado vacía y no se agrega trabajo adicional, el evento beforeExitse activa

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

En circunstancias normales, si no se agrega trabajo adicional a la cola de tareas, el proceso de fibjs finalizará. Pero si los beforeExitenlaces de eventos de escucha de devolución de llamada, inician una nueva tarea, como abrir una fibra, el proceso de fibjs continuará ejecutándose.

process.exitCodeComo el único parámetro que se pasa al valor del beforeExitdetector de eventos de la función de devolución de llamada. Si el proceso está a punto de finalizar debido a razones explícitas, como llamar directamenteprocess.exitO lanza una excepción no detectada, el beforeExitevento no se activará.

evento de salida

Cuando fibjs sale, el evento exitse activará una vez que exitse complete toda la ejecución del oyente de enlace de eventos, el proceso se terminará

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

exit La 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 ser process.exitCode El valor del atributo o llamada process.exitCuando el método pasó exitCodevalue.

Evento de señal

Cuando el proceso fibjs recibe una señal, activará un evento de señal. Las señales actualmente admitidas son SIGINT y SIGTERM. Cada nombre de evento está representado por las 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 tienen prioridad. Cuando ocurre una señal, independientemente de la corriente ioLa operación, o la operación de JavaScript, activará el evento correspondiente lo antes posible. Por ejemplo, puede utilizar el siguiente código para interrumpir la aplicación actual y generar 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 el terminal está en ejecución, puede ser compatible con todas las plataformas y, por lo general, puede activarse con CTRL + C.
  • SIGTERM: Esta señal se activa cuando se mata el proceso. No es compatible con Windows.

Función estática

umask

Cambie la umask 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

Devolver resultado:

  • Integer, Volver a la máscara anterior

Cambie la umask actual, Windows no admite este método

1
static Integer process.umask(String mask);

Parámetros de llamada:

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

Devolver resultado:

  • Integer, Volver a la máscara anterior

Devuelve la umask actual, Windows no admite este método

1
static Integer process.umask();

Devolver resultado:

  • Integer, Devuelve el valor de la 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 cronometraje de alta precisión.

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

Parámetros de llamada:

  • diff: Array, el tiempo inicial para la comparación

Devolver resultado:

  • Array, Devuelve el tiempo, el formato es [segundos, nanosegundos]

exit

Salir del proceso actual y devolver 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, resultado del proceso de retorno

cwd

Devuelve la ruta de trabajo actual del sistema operativo.

1
static String process.cwd();

Devolver resultado:

  • String, Devuelve la ruta del sistema actual

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 que se establecerá

uptime

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

1
static Number process.uptime();

Devolver resultado:

  • Number, Devuelve el valor que representa el tiempo

memoryUsage

Consultar el informe de uso de memoria del proceso actual

1
static Object process.memoryUsage();

Devolver resultado:

  • Object, La devolución contiene un informe de memoria

El informe de memoria genera resultados similares a los siguientes:

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

entre ellos:

  • rss devuelve el tamaño de la memoria física ocupada actualmente 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, especifique la función a ejecutar por la fibra
  • args: ..., secuencia de parámetros variables, esta secuencia se pasará a la función en la fibra

binding

Obtener el módulo interno del nombre especificado

1
static Value process.binding(String name);

Parámetros de llamada:

  • name: Cadena, especifique el nombre del módulo interno a consultar

Devolver resultado:

  • Value, Devuelve el módulo interno especificado

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

Array, devuelve los parámetros especiales de la línea de comandos del proceso actual, estos parámetros son utilizados por fibjs para configurar el entorno operativo

1
static readonly Array process.execArgv;

version

Cadena, devuelve la cadena de versión de fibjs

1
static readonly String process.version;

versions

Objeto, devuelve 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 que se está ejecutando actualmente

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 padre al que apunta el objeto actual

1
static readonly Integer process.ppid;

stdin

Stream, Consultar el objeto de entrada estándar del proceso actual

1
static readonly Stream process.stdin;

stdout

Stream, Consulta el objeto de salida estándar del proceso actual

1
static readonly Stream process.stdout;

stderr

Stream, Consultar el objeto de salida de error estándar del proceso actual

1
static readonly Stream process.stderr;

exitCode

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

1
static Integer process.exitCode;