Processo del modulo
Modulo di elaborazione del processo per gestire le risorse del processo corrente
Metodo di riferimento:
1var process = require('process');
Evento di processo
L'oggetto del modulo di processo è EventEmitter Ad esempio, puoi rispondere agli eventi a livello di processo registrando i listener di eventi.
primaEsci dall'evento
Quando la missione fibjs è stata vuota e non viene aggiunto alcun lavoro aggiuntivo, l'evento beforeExit
viene attivato
1process.on('beforeExit', exitCode => {});
In circostanze normali, se non viene aggiunto alcun lavoro aggiuntivo alla coda delle attività, il processo fibjs terminerà. Ma se il beforeExit
binding dell'evento del listener di callback, avvia una nuova attività, ad esempio l'apertura di una fibra, il processo fibjs continuerà a essere eseguito.
process.exitCodeCome unico parametro passato al valore del beforeExit
listener di eventi della funzione di callback. Se il processo sta per terminare per motivi espliciti, come chiamare direttamenteprocess.exitOppure genera un'eccezione non rilevata, l' beforeExit
evento non verrà attivato.
evento di uscita
All'uscita di fibjs, l'evento exit
verrà attivato una volta completata l' exit
esecuzione di tutta l' esecuzione del listener di associazione dell'evento, il processo verrà terminato
1process.on('exit', exitCode => {});
exit
La funzione di callback del listener di eventi ha un solo parametro di input, il cui valore può essere process.exitCode Il valore dell'attributo, o chiamata process.exitQuando il metodo ha passato exitCode
value.
Evento segnale
Quando il processo fibjs riceve un segnale, attiverà un evento di segnale.I segnali attualmente supportati sono SIGINT e SIGTERM. Ciascun nome di evento è rappresentato dalla lettera maiuscola del nome del segnale (ad esempio, l'evento 'SIGINT' corrisponde al segnale SIGINT).
Gli eventi di segnale sono diversi dagli altri eventi di processo. Gli eventi di segnale vengono anticipati. Quando si verifica un segnale, indipendentemente dalla corrente ioL'operazione, o operazione JavaScript, attiverà l'evento corrispondente il prima possibile. Ad esempio, è possibile utilizzare il codice seguente per interrompere l'applicazione corrente e visualizzare lo stato di esecuzione:
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();
});
I nomi dei segnali e il loro significato sono i seguenti:
- SIGINT: quando il terminale è in esecuzione, può essere supportato da tutte le piattaforme e di solito può essere attivato da CTRL+C.
- SIGTERM: questo segnale viene attivato quando il processo viene interrotto. Non supportato in Windows.
Funzione statica
umask
Modifica l'umask corrente, Windows non supporta questo metodo
1static Integer process.umask(Integer mask);
Parametri di chiamata:
- mask: Intero, specifica una nuova maschera
Risultato di ritorno:
- Integer, Torna alla maschera precedente
Modifica l'umask corrente, Windows non supporta questo metodo
1static Integer process.umask(String mask);
Parametri di chiamata:
- mask: Stringa, specifica una nuova maschera, tipo stringa ottale (es: "0664")
Risultato di ritorno:
- Integer, Torna alla maschera precedente
Restituisce l'umask corrente, Windows non supporta questo metodo
1static Integer process.umask();
Risultato di ritorno:
- Integer, Restituisce il valore della maschera corrente
hrtime
Restituisce l'ora ad alta precisione del sistema Questa ora non ha nulla a che fare con l'ora corrente e viene utilizzata solo per l'ora ad alta precisione
1static Array process.hrtime(Array diff = []);
Parametri di chiamata:
- diff: Array, il tempo iniziale per il confronto
Risultato di ritorno:
- Array, Restituisce il tempo di temporizzazione, il formato è [secondi, nanosecondi]
exit
Uscire dal processo corrente e restituire exitCode come risultato del processo
1static process.exit();
Esci dal processo corrente e restituisci il risultato
1static process.exit(Integer code);
Parametri di chiamata:
- code: Intero, restituisce il risultato del processo
cwd
Restituisce il percorso di lavoro corrente del sistema operativo
1static String process.cwd();
Risultato di ritorno:
- String, Restituisce il percorso di sistema corrente
chdir
Modificare il percorso di lavoro corrente del sistema operativo
1static process.chdir(String directory);
Parametri di chiamata:
- directory: String, specifica il nuovo percorso da impostare
uptime
Interroga il tempo di esecuzione dell'ambiente in esecuzione, in secondi
1static Number process.uptime();
Risultato di ritorno:
- Number, Restituisce il valore che rappresenta l'ora
cpuUsage
Interroga il tempo impiegato dal processo corrente nel codice utente e di sistema, il cui valore è un valore di microsecondi (un milionesimo di secondo)
1static Object process.cpuUsage(Object previousValue = {});
Parametri di chiamata:
- previousValue: Oggetto, specificare l'ora dell'ultima query
Risultato di ritorno:
- Object, Restituisci il rapporto contenente il tempo
Il rapporto sulla memoria genera risultati simili ai seguenti:
1
2
3
4{
"user": 132379,
"system": 50507
}
in:
- l'utente restituisce il tempo trascorso dal processo nel codice utente
- il sistema restituisce il tempo impiegato dal processo nel codice di sistema
memoryUsage
Interroga il rapporto sull'utilizzo della memoria del processo corrente
1static Object process.memoryUsage();
Risultato di ritorno:
- Object, Return contiene un rapporto di memoria
Il rapporto sulla memoria genera risultati simili ai seguenti:
1
2
3
4
5{
"rss": 8622080,
"heapTotal": 4083456,
"heapUsed": 1621800
}
in:
- rss restituisce la dimensione della memoria fisica attualmente occupata dal processo
- heapTotal restituisce la dimensione della memoria heap del motore v8
- heapUsed restituisce la dimensione della memoria heap utilizzata dal motore v8
nextTick
Avviare una fibra
1
2static process.nextTick(Function func,
...args);
Parametri di chiamata:
- func: Funzione, specificare la funzione che deve essere eseguita dalla fibra
- args: ..., sequenza di parametri variabili, questa sequenza verrà passata alla funzione nella fibra
binding
Ottieni il modulo interno del nome specificato
1static Value process.binding(String name);
Parametri di chiamata:
- name: String, specificare il nome del modulo interno da interrogare
Risultato di ritorno:
- Value, Restituisce il modulo interno specificato
Proprietà statiche
argv
Array, restituisce i parametri della riga di comando del processo corrente
1static readonly Array process.argv;
execArgv
Array, restituisce i parametri speciali della riga di comando del processo corrente, questi parametri vengono utilizzati da fibjs per impostare l'ambiente operativo
1static readonly Array process.execArgv;
version
Stringa, restituisce la stringa della versione di fibjs
1static readonly String process.version;
versions
Oggetto, restituisce le informazioni sulla versione di fibjs e componenti
1static readonly Object process.versions;
execPath
Stringa, interroga il percorso completo del file di esecuzione attualmente in esecuzione
1static readonly String process.execPath;
env
Oggetto, interroga le variabili d'ambiente del processo corrente
1static readonly Object process.env;
arch
Stringa, interroga l'ambiente della CPU corrente, i possibili risultati sono "amd64", "arm", "arm64", "ia32"
1static readonly String process.arch;
platform
Stringa, interroga il nome della piattaforma corrente, i possibili risultati sono "darwin", "freebsd", "linux" o "win32"
1static readonly String process.platform;
pid
Intero, legge l'id del processo puntato dall'oggetto corrente
1static readonly Integer process.pid;
ppid
Intero, legge l'id del processo genitore puntato dall'oggetto corrente
1static readonly Integer process.ppid;
stdin
Stream, Interroga l'oggetto di input standard del processo corrente, in tty In TTYInputStream, Altrimenti Stream
1static readonly Stream process.stdin;
stdout
Stream, Interroga l'oggetto di output standard del processo corrente, in tty In TTYOutputStream, Altrimenti Stream
1static readonly Stream process.stdout;
stderr
Stream, Interroga l'oggetto output di errore standard del processo corrente, in tty In TTYOutputStream, Altrimenti Stream
1static readonly Stream process.stderr;
exitCode
Intero, interroga e imposta il codice di uscita del processo corrente
1static Integer process.exitCode;