Módulo módulo básico

Proceso do módulo

Módulo de procesamento de procesos para xestionar os recursos do proceso actual

Método de referencia:

1
var process = require('process');

Evento do proceso

O obxecto do módulo de proceso é EventEmitter Por exemplo, pode responder a eventos a nivel de proceso rexistrando oíntes de eventos.

evento BeforeExit

Cando a misión fibjs estivo baleira e non se engade ningún traballo adicional, o evento beforeExitdesencadéase

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

En circunstancias normais, se non se engade traballo adicional á cola de tarefas, o proceso fibjs rematará. Pero se os beforeExitenlaces de eventos de oínte de devolución de chamada, comezan unha nova tarefa, como abrir unha fibra, o proceso fibjs seguirá executándose.

process.exitCodeComo único parámetro pasado ao valor do beforeExitoínte de eventos de función de devolución de chamada. Se o proceso está a piques de finalizar por razóns explícitas, como por exemplo, chamar directamenteprocess.exitOu fai unha excepción sen capturar, o beforeExitevento non se activará.

evento de saída

Cando saia fibjs, o evento exitactivarase unha vez exitque remate toda a execución do oínte de vinculación de eventos, o proceso rematará

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

exit A función de devolución de chamada do oínte de eventos só ten un parámetro de entrada. O valor deste parámetro pode ser process.exitCode O valor do atributo ou chamada process.exitCando o método pasou exitCodevalor.

Evento de sinal

Cando o proceso fibjs recibe un sinal, activará un evento de sinal. Os sinais soportados actualmente son SIGINT e SIGTERM. Cada nome de evento está representado pola maiúscula do nome do sinal (por exemplo, o evento "SIGINT" corresponde ao sinal SIGINT).

Os eventos de sinal son diferentes doutros eventos de proceso. Os eventos de sinal están previstos. Cando se produce un sinal, independentemente da corrente ioA operación, ou JavaScript, desencadeará o evento correspondente o antes posible. Por exemplo, pode usar o seguinte código para interromper a aplicación actual e emitir o estado en execució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(); });

Os nomes do sinal e os seus significados son os seguintes:

  • SIGINT: cando o terminal está en execución, pode ser soportado por todas as plataformas e normalmente pode ser activado por CTRL + C.
  • SIGTERM: Este sinal desencadéase cando se mata o proceso. Non é compatible con Windows.

Función estática

umask

Cambia a máscara actual, Windows non admite este método

1
static Integer process.umask(Integer mask);

Parámetros de chamada:

  • mask: Enteiro, especifique unha nova máscara

Resultado de volta:

  • Integer, Volver á máscara anterior

Cambia a máscara actual, Windows non admite este método

1
static Integer process.umask(String mask);

Parámetros de chamada:

  • mask: Cadea, especifica unha nova máscara, tipo de cadea octal (por exemplo: "0664")

Resultado de volta:

  • Integer, Volver á máscara anterior

Devolve a máscara actual, Windows non admite este método

1
static Integer process.umask();

Resultado de volta:

  • Integer, Devolve o valor actual da máscara

hrtime

Devolve a hora de alta precisión do sistema. Esta vez non ten nada que ver coa hora actual e só se usa para a sincronización de alta precisión

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

Parámetros de chamada:

  • diff: Array, o tempo inicial para a comparación

Resultado de volta:

  • Array, Devolve o tempo de sincronización, o formato é [segundos, nanosegundos]

exit

Saia do proceso actual e devolva exitCode como resultado do proceso

1
static process.exit();

Saia do proceso actual e devolve o resultado

1
static process.exit(Integer code);

Parámetros de chamada:

  • code: Entero, devolve o resultado do proceso

cwd

Devolve a ruta de traballo actual do sistema operativo

1
static String process.cwd();

Resultado de volta:

  • String, Devolve a ruta actual do sistema

chdir

Modifique a ruta de traballo actual do sistema operativo

1
static process.chdir(String directory);

Parámetros de chamada:

  • directory: Cadea, especifique o novo camiño a definir

uptime

Consulte o tempo de execución do entorno de execución, en segundos

1
static Number process.uptime();

Resultado de volta:

  • Number, Devolve o valor que representa o tempo

memoryUsage

Consulte o informe de uso de memoria do proceso actual

1
static Object process.memoryUsage();

Resultado de volta:

  • Object, Devolución contén informe de memoria

O informe de memoria xera resultados similares aos seguintes:

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

entre eles:

  • rss devolve o tamaño da memoria física que actualmente ocupa o proceso
  • heapTotal devolve o tamaño da memoria do heap do motor v8
  • heapUsed devolve o tamaño da memoria heap que está a usar o motor v8

nextTick

Comeza unha fibra

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

Parámetros de chamada:

  • func: Función, especifique a función que debe executar a fibra
  • args: ..., secuencia de parámetros variables, esta secuencia pasarase á función na fibra

binding

Obtén o módulo interno do nome especificado

1
static Value process.binding(String name);

Parámetros de chamada:

  • name: Cadea, especifique o nome do módulo interno que se vai consultar

Resultado de volta:

  • Value, Devolve o módulo interno especificado

Propiedades estáticas

argv

Array, devolve os parámetros da liña de comandos do proceso actual

1
static readonly Array process.argv;

execArgv

Array, devolve os parámetros especiais da liña de comandos do proceso actual, estes parámetros son usados ​​por fibjs para establecer o ambiente operativo

1
static readonly Array process.execArgv;

version

Cadea, devolve a cadea de versión fibjs

1
static readonly String process.version;

versions

Obxecta, devolve a información da versión de fibjs e compoñentes

1
static readonly Object process.versions;

execPath

Cadea, consulta a ruta completa do ficheiro de execución en execución

1
static readonly String process.execPath;

env

Obxecta, consulta as variables de contorno do proceso actual

1
static readonly Object process.env;

arch

Cadea, consulta o contorno actual da CPU, os posibles resultados son "amd64", "arm", "arm64", "ia32"

1
static readonly String process.arch;

platform

Cadea, consulta o nome da plataforma actual, os posibles resultados son "darwin", "freebsd", "linux" ou "win32"

1
static readonly String process.platform;

pid

Entero, lea a identificación do proceso que apunta o obxecto actual

1
static readonly Integer process.pid;

ppid

Entero, lea a identificación do proceso pai que apunta o obxecto actual

1
static readonly Integer process.ppid;

stdin

Stream, Consulte o obxecto de entrada estándar do proceso actual

1
static readonly Stream process.stdin;

stdout

Stream, Consulte o obxecto de saída estándar do proceso actual

1
static readonly Stream process.stdout;

stderr

Stream, Consulte o obxecto de saída de erro estándar do proceso actual

1
static readonly Stream process.stderr;

exitCode

Entero, consulta e configura o código de saída do proceso actual

1
static Integer process.exitCode;