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 de nivel de proceso registrando un detector de eventos.

evento beforeExit

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

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

En circunstancias normales, si no se agrega trabajo adicional a la cola de tareas, el proceso fibjs finalizará. Pero si la función de devolución de llamada del oyente vinculado al evento beforeExit inicia una nueva tarea, como iniciar una fibra, entonces el proceso fibjs continuará ejecutándose.

process.exitCode se pasa como el único valor del parámetro a la función de devolución de llamada del beforeExit eventos beforeExit . Si el proceso está a punto de finalizar por 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 salidas, el evento exit se activarán. Una vez que todos los oyentes con destino a la exit evento se ejecutan, 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 de atributo de process.exitCode o el valor de exitCode pasado 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 admitidas actualmente son SIGINT y SIGTERM. El nombre de cada evento se indica con mayúsculas en el nombre de la señal (por ejemplo, el evento 'SIGINT' corresponde a la señal SIGINT).

Los eventos de la señal son diferentes de otros eventos del proceso. Los eventos de la señal tienen preferencia. Cuando se produce 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 usar 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 se está ejecutando, puede ser compatible con todas las plataformas y, por lo general, CTRL + C puede activarlo.
  • SIGTERM: esta señal se dispara cuando el proceso finaliza. 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

Resultado devuelto:

  • Integer , devuelve 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")

Resultado devuelto:

  • Integer , devuelve la máscara anterior

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

1
static Integer process.umask();

Resultado devuelto:

  • Integer , devuelve el valor de máscara actual

hrtime

Devuelve el tiempo de alta precisión del sistema, esta vez no tiene nada que ver con el tiempo actual, solo para tiempos de alta precisión

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

Parámetros de llamada:

  • diff : matriz, hora inicial de comparación

Resultado devuelto:

  • 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();

Salga del proceso actual y devuelva el resultado.

1
static process.exit(Integer code);

Parámetros de llamada:

  • code : entero, resultado del proceso de devolución

cwd

Devuelve la ruta de trabajo actual del sistema operativo

1
static String process.cwd();

Resultado devuelto:

  • String , devuelve la ruta actual del sistema

chdir

Modificar la ruta de trabajo actual del sistema operativo

1
static process.chdir(String directory);

Parámetros de llamada:

  • directory : Cadena, especifique una nueva ruta

uptime

Consulta el tiempo de ejecución del entorno operativo, en segundos

1
static Number process.uptime();

Resultado devuelto:

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

memoryUsage

Consultar el informe de uso de memoria de proceso actual

1
static Object process.memoryUsage();

Resultado devuelto:

  • Object , devuelve el 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 }

entre ellos:

  • rss devuelve el tamaño actual de la memoria física del proceso
  • heapTotal devuelve el tamaño de memoria de almacenamiento dinámico del motor v8
  • heapUsed devuelve el tamaño de la memoria de montón utilizada por el motor v8

nextTick

Comience una fibra

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

Parámetros de llamada:

  • func : Function, formula la función de ejecución de fibra
  • args : ..., secuencia de parámetros variables, esta secuencia se pasará a la función en la fibra

binding

Obtenga el módulo interno con el nombre especificado

1
static Value process.binding(String name);

Parámetros de llamada:

  • name : String, especifique el name del módulo interno que se consultará

Resultado devuelto:

  • Value , devuelve el módulo interno especificado

open

Ejecute la línea de comando especificada, tome las secuencias de entrada y salida del proceso y devuelva el objeto del 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 : matriz, especifique la lista de parámetros para ejecutar
  • opts : Object, especificar opciones para ejecutar

Resultado devuelto:

  • SubProcess , devuelve el objeto de proceso que contiene el resultado de la operació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 las secuencias de entrada y salida del proceso y devuelva el objeto del 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 : Object, especificar opciones para ejecutar

Resultado devuelto:

  • SubProcess , devuelve el objeto de proceso que contiene el resultado de la operació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 : matriz, especifique la lista de parámetros para ejecutar
  • opts : Object, especificar opciones para ejecutar

Resultado devuelto:

  • SubProcess , devuelve el objeto de proceso que contiene el resultado de la operació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 : Object, especificar opciones para ejecutar

Resultado devuelto:

  • SubProcess , devuelve el objeto de proceso que contiene el resultado de la operació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 final 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 : matriz, especifique la lista de parámetros para ejecutar
  • opts : Object, especificar opciones para ejecutar

Resultado devuelto:

  • Integer , devuelve el resultado de ejecución 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 final 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 : Object, especificar opciones para ejecutar

Resultado devuelto:

  • Integer , devuelve el resultado de ejecución del comando

Las opciones admitidas por opts son las siguientes:

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

Propiedad estática

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, fibjs utiliza estos parámetros para establecer el entorno de ejecución

1
static readonly Array process.execArgv;

version

Cadena, devuelve la cadena de versión fibjs

1
static readonly String process.version;

versions

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

1
static readonly String process.arch;

platform

Cadena, consulta el nombre de la plataforma actual, el resultado posible es'darwin ',' freebsd ',' linux 'o'win32'

1
static readonly String process.platform;

pid

Entero, lea la identificación del proceso señalado por el objeto actual

1
static readonly Integer process.pid;

ppid

Entero, lea la identificación del proceso principal 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;