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 una instancia de EventEmitter , que puede responder a eventos a nivel de proceso registrando oyentes de eventos.

antes del evento de salida

Cuando la tarea de fibjs está vacía y no se agrega trabajo adicional, se beforeExit el evento antes de la beforeExit

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 se inicia una nueva tarea en la función de devolución de llamada del oyente vinculado al evento beforeExit , como iniciar una fibra, el proceso fibjs continuará ejecutándose.

process.exitCode se pasa a la función de devolución de llamada del beforeExit eventos beforeExit como el único valor de parámetro. Si el proceso está a punto de finalizar debido a razones explícitas, como llamar a process.exit directamente o lanzar una excepción no beforeExit , el evento beforeExit no se activará.

evento de salida

Cuando fibjs sale, se activa el evento de exit . Una vez que se ejecutan todos los oyentes vinculados al evento de exit , el proceso terminará

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

La función de devolución de llamada del detector de eventos de exit tiene solo un parámetro de entrada. El valor de este parámetro puede ser el valor del atributo de process.exitCode o el valor de exitCode que se pasa cuando se llama al método process.exit .

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. El nombre de cada evento se expresa en 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 operación io actual o la operación de JavaScript, el evento correspondiente se activará 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 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

Devolver resultado:

  • Integer , devuelve 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, especifique una nueva máscara, tipo de cadena octal (por ejemplo: "0664")

Devolver resultado:

  • Integer , devuelve la máscara anterior

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

1
static Integer process.umask();

Devolver resultado:

  • Integer , devuelve el valor actual de la máscara

hrtime

Devuelve la hora de alta precisión del sistema, esta hora no tiene nada que ver con la hora actual, solo se utiliza para cronometraje de alta precisión

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

Parámetros de llamada:

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

Devolver resultado:

  • Array , devuelve el tiempo de temporización, el formato es [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, 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 el nuevo conjunto de ruta

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 la memoria del proceso actual

1
static Object process.memoryUsage();

Devolver resultado:

  • Object , retorno contiene 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 del montón que está utilizando 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 que ejecuta la fibra.
  • args : ..., una 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 : String, especifique el name del módulo interno a consultar

Devolver resultado:

  • Value , devuelve el módulo interno especificado

open

Ejecute la línea de comando especificada, tome el control del flujo de entrada y salida del proceso y devuelva el objeto de proceso

1 2 3
static SubProcess process.open(String command, Array args, Object opts = {});

Parámetros de llamada:

  • command : Cadena, especifique la línea de comando para ejecutar
  • args : Array, especifica la lista de parámetros para ejecutar
  • opts : Objeto, especifica las opciones para ejecutar

Devolver resultado:

  • SubProcess , devuelve el objeto de proceso que contiene el resultado en ejecución

Las opciones admitidas por opts son las siguientes:

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

Ejecute la línea de comando especificada, tome el control del flujo de entrada y salida del proceso y devuelva el objeto de proceso

1 2
static SubProcess process.open(String command, Object opts = {});

Parámetros de llamada:

  • command : Cadena, especifique la línea de comando para ejecutar
  • opts : Objeto, especifica las opciones para ejecutar

Devolver resultado:

  • SubProcess , devuelve el objeto de proceso que contiene el resultado en ejecución

Las opciones admitidas por opts son las siguientes:

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

start

Ejecute la línea de comando especificada y devuelva el objeto de proceso

1 2 3
static SubProcess process.start(String command, Array args, Object opts = {});

Parámetros de llamada:

  • command : Cadena, especifique la línea de comando para ejecutar
  • args : Array, especifica la lista de parámetros para ejecutar
  • opts : Objeto, especifica las opciones para ejecutar

Devolver resultado:

  • SubProcess , devuelve el objeto de proceso que contiene el resultado en ejecución

Las opciones admitidas por opts son las siguientes:

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

Ejecute la línea de comando especificada y devuelva el objeto de proceso

1 2
static SubProcess process.start(String command, Object opts = {});

Parámetros de llamada:

  • command : Cadena, especifique la línea de comando para ejecutar
  • opts : Objeto, especifica las opciones para ejecutar

Devolver resultado:

  • SubProcess , devuelve el objeto de proceso que contiene el resultado en ejecución

Las opciones admitidas por opts son las siguientes:

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

run

Ejecute la línea de comando especificada y devuelva el código de finalización del proceso

1 2 3
static Integer process.run(String command, Array args, Object opts = {}) async;

Parámetros de llamada:

  • command : Cadena, especifique la línea de comando para ejecutar
  • args : Array, especifica la lista de parámetros para ejecutar
  • opts : Objeto, especifica las opciones para ejecutar

Devolver resultado:

  • Integer , devuelve el resultado del comando

Las opciones admitidas por opts son las siguientes:

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

Ejecute la línea de comando especificada y devuelva el código de finalización del proceso

1 2
static Integer process.run(String command, Object opts = {}) async;

Parámetros de llamada:

  • command : Cadena, especifique la línea de comando para ejecutar
  • opts : Objeto, especifica las opciones para ejecutar

Devolver resultado:

  • Integer , devuelve el resultado del comando

Las opciones admitidas por opts son las siguientes:

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

Propiedades estáticas

argv

Array, 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 actual

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 posibles resultados son 'amd64', 'arm', 'arm64', 'ia32'

1
static readonly String process.arch;

platform

Cadena, consulta el nombre de la plataforma actual, los posibles resultados 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

File , consulta el objeto de entrada estándar del proceso actual

1
static readonly File process.stdin;

stdout

File , consulta el objeto de salida estándar del proceso actual

1
static readonly File process.stdout;

stderr

File , consulta el objeto de salida de error estándar del proceso actual

1
static readonly File process.stderr;

exitCode

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

1
static Integer process.exitCode;