Módulo Módulo básico

Proceso del módulo

Módulo de procesamiento de procesos para gestionar 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 => {});

Normalmente, 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 vinculada 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 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 directamente a process.exit 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 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 actualmente soportadas 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 señal son diferentes de otros eventos de proceso. Los eventos de señal son preferentes. 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(); });

El nombre de la señal y su significado son los siguientes:

  • SIGINT: cuando el terminal se está ejecutando, puede ser compatible con todas las plataformas y, 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

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 se usa 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 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, 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

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 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 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 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 : 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 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 : Object, especificar opciones para ejecutar

Resultado devuelto:

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

String, 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 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, el posible resultado 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 padre señalado por el objeto actual

1
static readonly Integer process.ppid;

stdin

File , consulta 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;