Mòdul mòdul bàsic

procés del mòdul

Mòdul de processament de processos, utilitzat per gestionar els recursos del procés actual

Mètode de referència:

1
var process = require('process');

processar esdeveniments

L'objecte del mòdul de procés ésEventEmitterLes instàncies poden respondre als esdeveniments a nivell de procés registrant els oients d'esdeveniments.

esdeveniment beforeExit

Quan la tasca fibjs estigui buida i no s'afegeix cap treball addicional, beforeExits'activarà l'esdeveniment

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

Normalment, si no s'afegeix cap treball addicional a la cua de tasques, el procés fibjs finalitzarà. Però si beforeExits'inicia una tasca nova a la funció de devolució de trucada de l'oient vinculat a l'esdeveniment, com ara iniciar una fibra, el procés fibjs continuarà executant-se.

process.exitCodeS'ha passat com a únic valor de paràmetre a beforeExitla funció de devolució de trucada de l'oient d'esdeveniments. Si el procés està a punt de finalitzar per motius explícits, com ara trucar directamentprocess.exitO llenceu una excepció no detectada i beforeExitl'esdeveniment no s'activarà.

esdeveniment de sortida

Quan fibjs surti, exits'activarà l'esdeveniment. Quan tots exitels oients vinculats a l'esdeveniment hagin completat l'execució, el procés finalitzarà.

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

exitLa funció de devolució de trucada de l'oient d'esdeveniments només té un paràmetre d'entrada. El valor d'aquest paràmetre pot serprocess.exitCodevalor d'atribut o trucadaprocess.exitEl valor passat al mètode exitCode.

Esdeveniment de senyal

Quan el procés fibjs rep un senyal, s'activarà un esdeveniment de senyal. Els senyals admesos actualment són SIGINT i SIGTERM. Cada nom d'esdeveniment s'expressa en majúscules del nom del senyal (per exemple, l'esdeveniment 'SIGINT' correspon al senyal SIGINT).

Els esdeveniments de senyal són diferents d'altres esdeveniments de procés. Els esdeveniments de senyal es precedeixen. Quan es produeix un senyal, sigui quin sigui el correntioLes operacions, ja siguin operacions de JavaScript, activaran l'esdeveniment corresponent tan aviat com sigui possible. Per exemple, podeu utilitzar el codi següent per interrompre l'aplicació actual i mostrar l'estat d'execució:

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

Els noms dels senyals i el seu significat són els següents:

  • SIGINT: quan s'executa al terminal, pot ser compatible amb totes les plataformes i normalment es pot activar amb CTRL+C.
  • SIGTERM: aquest senyal s'activa quan s'acaba el procés. No és compatible amb Windows.

funció estàtica

umask

Canvieu l'umask actual, Windows no admet aquest mètode

1
static Integer process.umask(Integer mask);

Paràmetres de trucada:

  • mask: Enter, especifiqueu una màscara nova

Resultats de retorn:

  • Integer, torneu a la màscara anterior

Canvieu l'umask actual, Windows no admet aquest mètode

1
static Integer process.umask(String mask);

Paràmetres de trucada:

  • mask: String, especifica la màscara nova, tipus de cadena octal (per exemple: "0664")

Resultats de retorn:

  • Integer, torneu a la màscara anterior

Retorna l'umask actual. Windows no admet aquest mètode.

1
static Integer process.umask();

Resultats de retorn:

  • Integer, retorna el valor de la màscara actual

hrtime

Retorna el temps d'alta precisió del sistema. Aquest temps no té res a veure amb l'hora actual i només s'utilitza per al cronometratge d'alta precisió.

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

Paràmetres de trucada:

  • diff: Matriu, temps inicial utilitzat per a la comparació

Resultats de retorn:

  • Array, retorna el temps de temps en el format [segons, nanosegons]

exit

Sortiu del procés actual i retorneu exitCode com a resultat del procés

1
static process.exit();

Sortiu del procés actual i retorneu el resultat

1
static process.exit(Integer code);

Paràmetres de trucada:

  • code: Enter, retorna el resultat del procés

cwd

Retorna la ruta de treball actual del sistema operatiu

1
static String process.cwd();

Resultats de retorn:

  • String, retorna la ruta actual del sistema

dlopen

Càrrega dinàmica de complements de C++

1 2 3
static process.dlopen(Object module, String filename, Integer flags = 1);

Paràmetres de trucada:

  • module: Objecte, especifica el mòdul a carregar
  • filename: String, especifica el nom del fitxer del mòdul que s'ha de carregar
  • flags: Enter, especifica la manera de carregar el mòdul, el valor per defecte és 1

chdir

Modifiqueu la ruta de treball actual del sistema operatiu

1
static process.chdir(String directory);

Paràmetres de trucada:

  • directory: Cadena, especifiqueu el camí nou de la configuració

uptime

Consulta el temps d'execució de l'entorn en execució, en segons

1
static Number process.uptime();

Resultats de retorn:

  • Number, retorna un valor numèric que representa el temps

cpuUsage

Consulta el temps invertit pel procés actual en codi d'usuari i sistema, el valor és un valor de microsegons (milionèsimes de segon)

1
static Object process.cpuUsage(Object previousValue = {});

Paràmetres de trucada:

  • previousValue: Objecte, especifica l'hora de la darrera consulta

Resultats de retorn:

  • Object, retorna un informe que conté l'hora

L'informe de memòria produeix resultats similars als següents:

1 2 3 4
{ "user": 132379, "system": 50507 }

a:

  • usuari retorna el temps que el procés ha passat en codi d'usuari
  • sistema retorna el temps que el procés ha passat al codi del sistema

memoryUsage

Consulta l'informe d'ús de memòria del procés actual

1
static Object process.memoryUsage();

Resultats de retorn:

  • Object, retorna un informe que conté memòria

L'informe de memòria produeix resultats similars als següents:

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

a:

  • rss retorna la mida de memòria física actual ocupada pel procés
  • heapTotal retorna la mida de memòria del munt del motor v8
  • heapUsed retorna la mida de memòria d'emmagatzematge que utilitza el motor v8

nextTick

iniciar una fibra

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

Paràmetres de trucada:

  • func: Funció, especifica la funció executada per la fibra
  • args: ..., una seqüència variàdica d'arguments que es passaran a la funció dins de la fibra

binding

Obteniu el mòdul intern amb el nom especificat

1
static Value process.binding(String name);

Paràmetres de trucada:

  • name: Cadena, especifica el nom del mòdul intern que s'ha de consultar

Resultats de retorn:

  • Value, retorna el mòdul intern especificat

getgid

Consulta l'identificador de grup del procés actual

1
static Integer process.getgid();

Resultats de retorn:

  • Integer, retorna l'identificador de grup del procés actual

getuid

Consulta l'ID d'usuari del procés actual

1
static Integer process.getuid();

Resultats de retorn:

  • Integer, retorna l'identificador d'usuari del procés actual

setgid

Estableix l'identificador de grup del procés actual

1
static process.setgid(Integer id);

Paràmetres de trucada:

  • id: Enter, especifiqueu l'identificador del grup que s'ha d'establir

setuid

Establiu l'identificador d'usuari del procés actual

1
static process.setuid(Integer id);

Paràmetres de trucada:

  • id: Enter, especifiqueu l'ID d'usuari que s'ha d'establir

emitWarning

Emet advertències de procés personalitzades o específiques de l'aplicació. Aquests esdeveniments es poden escoltar afegint un controlador a l'esdeveniment "avís".

1 2
static process.emitWarning(Value warning, Object options);

Paràmetres de trucada:

  • warning: Valor, especifica l'avís que s'ha d'emetre
  • opcions: Objecte, opcions per especificar avisos

    Les opcions inclouen les següents:

1 2 3 4 5
{ "type": "Warning", // specifies the name of the type of warning issued. Default value: 'Warning' "code": "", // specify the unique identifier of the warning instance issued "detail": "" // specify additional text for warnings }

Com utilitzar-lo:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
const { emitWarning } = require('process'); // Emit a warning with a code and additional detail. emitWarning('Something happened!', { code: 'MY_WARNING', detail: 'This is some additional information', }); process.on('warning', (warning) => { console.warn(warning.name); // 'Warning' console.warn(warning.message); // 'Something happened!' console.warn(warning.code); // 'MY_WARNING' console.warn(warning.stack); // Stack trace console.warn(warning.detail); // 'This is some additional information' });

Emet advertències de procés personalitzades o específiques de l'aplicació. Aquests esdeveniments es poden escoltar afegint un controlador a l'esdeveniment "avís".

1 2 3
static process.emitWarning(Value warning, String type = "Warning", String code = "");

Paràmetres de trucada:

  • warning: Valor, especifica l'avís que s'ha d'emetre
  • type: Cadena, especifica el nom del tipus d'avís que s'ha d'emetre. Per defecte: "Avís"
  • code: String, especifica l'identificador únic de la instància d'advertència emesa

disconnect

Tanqueu la canonada ipc al procés pare

1
static process.disconnect();

send

Envieu un missatge al procés principal

1
static process.send(Value msg);

Paràmetres de trucada:

  • msg: Valor, especifica el missatge a enviar

propietats estàtiques

argv

Array, retorna els paràmetres de la línia d'ordres del procés actual

1
static readonly Array process.argv;

execArgv

Array, retorna els paràmetres especials de la línia d'ordres del procés actual. Aquests paràmetres són utilitzats per fibjs per definir l'entorn en execució.

1
static readonly Array process.execArgv;

version

String, retorna la cadena de versió fibjs

1
static readonly String process.version;

versions

Object, retorna la informació de la versió de fibjs i components

1
static readonly Object process.versions;

execPath

String, consulteu el camí complet del fitxer d'execució en execució

1
static readonly String process.execPath;

env

Objecte, consulta les variables d'entorn del procés actual

1
static readonly Object process.env;

arch

String, consulteu l'entorn de la CPU actual, els resultats possibles són 'amd64', 'arm', 'arm64', 'ia32'

1
static readonly String process.arch;

platform

Cadena, consulteu el nom de la plataforma actual, els resultats possibles són "darwin", "freebsd", "linux" o "win32".

1
static readonly String process.platform;

pid

Enter, llegiu l'identificador del procés al qual apunta l'objecte actual

1
static readonly Integer process.pid;

ppid

Enter, llegiu l'identificador del procés pare al qual apunta l'objecte actual

1
static readonly Integer process.ppid;

stdin

Stream, consulteu l'objecte d'entrada estàndard del procés actual, attyZhongweiTTYInputStream, d'una altra maneraStream

1
static readonly Stream process.stdin;

stdout

Stream, consulteu l'objecte de sortida estàndard del procés actual, attyZhongweiTTYOutputStream, d'una altra maneraStream

1
static readonly Stream process.stdout;

stderr

Stream, consulteu l'objecte de sortida d'error estàndard del procés actual, attyZhongweiTTYOutputStream, d'una altra maneraStream

1
static readonly Stream process.stderr;

exitCode

Enter, consulteu i configureu el codi de sortida del procés actual

1
static Integer process.exitCode;

connected

Booleà, consulta si la canonada amb el procés pare està connectada normalment

1
static readonly Boolean process.connected;