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:
1var 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, beforeExit
s'activarà l'esdeveniment
1process.on('beforeExit', exitCode => {});
Normalment, si no s'afegeix cap treball addicional a la cua de tasques, el procés fibjs finalitzarà. Però si beforeExit
s'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 beforeExit
la 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 beforeExit
l'esdeveniment no s'activarà.
esdeveniment de sortida
Quan fibjs surti, exit
s'activarà l'esdeveniment. Quan tots exit
els oients vinculats a l'esdeveniment hagin completat l'execució, el procés finalitzarà.
1process.on('exit', exitCode => {});
exit
La 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
6var 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
1static 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
1static 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.
1static 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ó.
1static 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
1static process.exit();
Sortiu del procés actual i retorneu el resultat
1static 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
1static String process.cwd();
Resultats de retorn:
- String, retorna la ruta actual del sistema
dlopen
Càrrega dinàmica de complements de C++
1
2
3static 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
1static 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
1static 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)
1static 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
1static 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
2static 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
1static 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
1static 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
1static 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
1static 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
1static 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
2static 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
17const {
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
3static 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
1static process.disconnect();
send
Envieu un missatge al procés principal
1static 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
1static 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ó.
1static readonly Array process.execArgv;
version
String, retorna la cadena de versió fibjs
1static readonly String process.version;
versions
Object, retorna la informació de la versió de fibjs i components
1static readonly Object process.versions;
execPath
String, consulteu el camí complet del fitxer d'execució en execució
1static readonly String process.execPath;
env
Objecte, consulta les variables d'entorn del procés actual
1static readonly Object process.env;
arch
String, consulteu l'entorn de la CPU actual, els resultats possibles són 'amd64', 'arm', 'arm64', 'ia32'
1static readonly String process.arch;
platform
Cadena, consulteu el nom de la plataforma actual, els resultats possibles són "darwin", "freebsd", "linux" o "win32".
1static readonly String process.platform;
pid
Enter, llegiu l'identificador del procés al qual apunta l'objecte actual
1static readonly Integer process.pid;
ppid
Enter, llegiu l'identificador del procés pare al qual apunta l'objecte actual
1static readonly Integer process.ppid;
stdin
Stream, consulteu l'objecte d'entrada estàndard del procés actual, attyZhongweiTTYInputStream, d'una altra maneraStream
1static readonly Stream process.stdin;
stdout
Stream, consulteu l'objecte de sortida estàndard del procés actual, attyZhongweiTTYOutputStream, d'una altra maneraStream
1static readonly Stream process.stdout;
stderr
Stream, consulteu l'objecte de sortida d'error estàndard del procés actual, attyZhongweiTTYOutputStream, d'una altra maneraStream
1static readonly Stream process.stderr;
exitCode
Enter, consulteu i configureu el codi de sortida del procés actual
1static Integer process.exitCode;
connected
Booleà, consulta si la canonada amb el procés pare està connectada normalment
1static readonly Boolean process.connected;