Módulo base del módulo

Proceso del módulo

Módulo de procesamiento de procesos para gestionar 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 y puede responder a eventos de nivel de proceso registrando escuchas de eventos.

evento beforeExit

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

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

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

process.exitCode se pasa como el único valor de 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 el evento fibjs salida de exit se activará una vez que toda exit se completa la ejecución oyente unión caso, se dará por terminado el proceso de

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 propiedad 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 admitidas actualmente 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 son preventivos. Cuando se produce una señal, el evento correspondiente se activará lo antes posible, independientemente de la operación io actual o la operación de JavaScript. 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, por lo general, puede ser activado por CTRL + C.
  • 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

Devuelve el resultado:

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

Devuelve el resultado:

  • Integer , devuelve la máscara anterior

Devuelve la umask actual, que no es compatible con Windows

1
static Integer process.umask();

Devuelve el resultado:

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

hrtime

Devuelve el tiempo de alta precisión del sistema. Este tiempo no tiene nada que ver con el tiempo actual y solo se usa para tiempos de alta precisión

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

Parámetros de llamada:

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

Devuelve el 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();

Salga del proceso actual y devuelva 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();

Devuelve el resultado:

  • 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, especificando una nueva ruta

uptime

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

1
static Number process.uptime();

Devuelve el resultado:

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

memoryUsage

Consultar el informe de uso de memoria del proceso actual

1
static Object process.memoryUsage();

Devuelve el resultado:

  • 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 }

De los cuales:

  • rss devuelve el tamaño actual de la memoria física del proceso
  • heapTotal devuelve el tamaño de la memoria de almacenamiento dinámico del motor v8
  • heapUsed devuelve el tamaño de memoria de almacenamiento dinámico que está utilizando el motor v8

nextTick

Comience una fibra

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

Parámetros de llamada:

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

open

Ejecute la línea de comando especificada, asuma 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, especifica la línea de comando para ejecutar
  • args : matriz, especifique una lista de argumentos para ejecutar
  • opts : Object, especificar opciones para ejecutar

Devuelve el resultado:

  • SubProcess , devuelve un objeto de proceso que contiene los resultados de la ejecución

opts admite las siguientes opciones:

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

Ejecute la línea de comando especificada, asuma 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, especifica la línea de comando para ejecutar
  • opts : Object, especificar opciones para ejecutar

Devuelve el resultado:

  • SubProcess , devuelve un objeto de proceso que contiene los resultados de la ejecución

opts admite las siguientes opciones:

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

start

Ejecuta la línea de comando especificada y devuelve el objeto de proceso.

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

Parámetros de llamada:

  • command : Cadena, especifica la línea de comando para ejecutar
  • args : matriz, especifique una lista de argumentos para ejecutar
  • opts : Object, especificar opciones para ejecutar

Devuelve el resultado:

  • SubProcess , devuelve un objeto de proceso que contiene los resultados de la ejecución

opts admite las siguientes opciones:

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

Ejecuta la línea de comando especificada y devuelve el objeto de proceso.

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

Parámetros de llamada:

  • command : Cadena, especifica la línea de comando para ejecutar
  • opts : Object, especificar opciones para ejecutar

Devuelve el resultado:

  • SubProcess , devuelve un objeto de proceso que contiene los resultados de la ejecución

opts admite las siguientes opciones:

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

run

Ejecuta la línea de comando especificada y devuelve 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, especifica la línea de comando para ejecutar
  • args : matriz, especifique una lista de argumentos para ejecutar
  • opts : Object, especificar opciones para ejecutar

Devuelve el resultado:

  • Integer , devuelve el resultado de ejecutar el comando

opts admite las siguientes opciones:

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

Ejecuta la línea de comando especificada y devuelve el código final del proceso.

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

Parámetros de llamada:

  • command : Cadena, especifica la línea de comando para ejecutar
  • opts : Object, especificar opciones para ejecutar

Devuelve el resultado:

  • Integer , devuelve el resultado de ejecutar el comando

opts admite las siguientes opciones:

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

Propiedad estática

argv

Matriz, devuelve argumentos de línea de comando para el proceso actual

1
static readonly Array process.argv;

execArgv

Array, devuelve parámetros especiales de línea de comandos para el proceso actual, fibjs utiliza estos parámetros para establecer el entorno de ejecución

1
static readonly Array process.execArgv;

version

String, devuelve la cadena de versión fibjs

1
static readonly String process.version;

versions

Objeto, devuelve información de versión para 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, 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 padre señalado por 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;