Proceso do módulo
Módulo de procesamento de procesos para xestionar os recursos do proceso actual
Método de referencia:
1var 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 beforeExit
desencadéase
1process.on('beforeExit', exitCode => {});
En circunstancias normais, se non se engade traballo adicional á cola de tarefas, o proceso fibjs rematará. Pero se os beforeExit
enlaces 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 beforeExit
oínte de eventos de función de devolución de chamada. Se o proceso está a piques de rematar por razóns explícitas, como por exemplo, chamar directamenteprocess.exitOu fai unha excepción sen capturar, o beforeExit
evento non se activará.
evento de saída
Cando saia fibjs, o evento exit
activarase unha vez exit
que remate toda a execución do oínte de vinculación de eventos, o proceso rematará
1process.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 exitCode
valor.
Evento de sinal
Cando o proceso fibjs recibe un sinal, desencadeará 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 operación JavaScript activará 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
6var 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
1static Integer process.umask(Integer mask);
Parámetros de chamada:
- mask: Enteiro, especifica unha nova máscara
Resultado de volta:
- Integer, Volver á máscara anterior
Cambia a máscara actual, Windows non admite este método
1static 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
1static 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
1static 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
1static process.exit();
Saia do proceso actual e devolve o resultado
1static 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
1static String process.cwd();
Resultado de volta:
- String, Devolve a ruta actual do sistema
chdir
Modifique a ruta de traballo actual do sistema operativo
1static 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
1static Number process.uptime();
Resultado de volta:
- Number, Devolve o valor que representa o tempo
cpuUsage
Consulte o tempo empregado polo proceso actual no código do usuario e do sistema, cuxo valor é un valor de microsegundo (unha millonésima de segundo)
1static Object process.cpuUsage(Object previousValue = {});
Parámetros de chamada:
- previousValue: Obxecto, especifica a hora da última consulta
Resultado de volta:
- Object, Informe de devolución con tempo
O informe de memoria xera resultados similares aos seguintes:
1
2
3
4{
"user": 132379,
"system": 50507
}
en:
- usuario devolve o tempo empregado polo proceso no código de usuario
- sistema devolve o tempo que pasa o proceso no código do sistema
memoryUsage
Consulte o informe de uso de memoria do proceso actual
1static 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
}
en:
- rss devolve o tamaño da memoria física que actualmente ocupa o proceso
- heapTotal devolve o tamaño da memoria de montón do motor v8
- heapUsed devolve o tamaño da memoria heap que está a usar o motor v8
nextTick
Comeza unha fibra
1
2static 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
1static 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
Matriz, devolve os parámetros da liña de comandos do proceso actual
1static readonly Array process.argv;
execArgv
Matriz, 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
1static readonly Array process.execArgv;
version
Cadea, devolve a cadea de versión fibjs
1static readonly String process.version;
versions
Obxecta, devolve a información da versión de fibjs e compoñentes
1static readonly Object process.versions;
execPath
Cadea, consulta a ruta completa do ficheiro de execución en execución
1static readonly String process.execPath;
env
Obxecta, consulta as variables de contorno do proceso actual
1static readonly Object process.env;
arch
Cadea, consulta o ambiente actual da CPU, os posibles resultados son "amd64", "arm", "arm64", "ia32"
1static readonly String process.arch;
platform
Cadea, consulta o nome da plataforma actual, os posibles resultados son "darwin", "freebsd", "linux" ou "win32"
1static readonly String process.platform;
pid
Entero, lea a identificación do proceso que apunta o obxecto actual
1static readonly Integer process.pid;
ppid
Entero, lea a identificación do proceso pai que apunta o obxecto actual
1static readonly Integer process.ppid;
stdin
Stream, Consulte o obxecto de entrada estándar do proceso actual, en tty En TTYInputStream, Se non Stream
1static readonly Stream process.stdin;
stdout
Stream, Consulte o obxecto de saída estándar do proceso actual, en tty En TTYOutputStream, Se non Stream
1static readonly Stream process.stdout;
stderr
Stream, Consulte o obxecto de saída de erro estándar do proceso actual, en tty En TTYOutputStream, Se non Stream
1static readonly Stream process.stderr;
exitCode
Entero, consulta e configura o código de saída do proceso actual
1static Integer process.exitCode;