Modulo modulo base

Processo del modulo

Modulo di elaborazione del processo per gestire le risorse del processo corrente

Metodo di riferimento:

1
var 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 beforeExitviene attivato

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

In circostanze normali, se non viene aggiunto alcun lavoro aggiuntivo alla coda delle attività, il processo fibjs terminerà. Ma se il beforeExitbinding 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 beforeExitlistener 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' beforeExitevento non verrà attivato.

evento di uscita

All'uscita di fibjs, l'evento exitverrà attivato una volta completata l' exitesecuzione di tutta l' esecuzione del listener di associazione dell'evento, il processo verrà terminato

1
process.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 exitCodevalue.

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 6
var 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

1
static 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

1
static 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

1
static 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

1
static 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

1
static process.exit();

Esci dal processo corrente e restituisci il risultato

1
static process.exit(Integer code);

Parametri di chiamata:

  • code: Intero, restituisce il risultato del processo

cwd

Restituisce il percorso di lavoro corrente del sistema operativo

1
static String process.cwd();

Risultato di ritorno:

  • String, Restituisce il percorso di sistema corrente

chdir

Modificare il percorso di lavoro corrente del sistema operativo

1
static 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

1
static 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)

1
static 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

1
static 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 2
static 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

1
static 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

1
static 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

1
static readonly Array process.execArgv;

version

Stringa, restituisce la stringa della versione di fibjs

1
static readonly String process.version;

versions

Oggetto, restituisce le informazioni sulla versione di fibjs e componenti

1
static readonly Object process.versions;

execPath

Stringa, interroga il percorso completo del file di esecuzione attualmente in esecuzione

1
static readonly String process.execPath;

env

Oggetto, interroga le variabili d'ambiente del processo corrente

1
static readonly Object process.env;

arch

Stringa, interroga l'ambiente della CPU corrente, i possibili risultati sono "amd64", "arm", "arm64", "ia32"

1
static readonly String process.arch;

platform

Stringa, interroga il nome della piattaforma corrente, i possibili risultati sono "darwin", "freebsd", "linux" o "win32"

1
static readonly String process.platform;

pid

Intero, legge l'id del processo puntato dall'oggetto corrente

1
static readonly Integer process.pid;

ppid

Intero, legge l'id del processo genitore puntato dall'oggetto corrente

1
static readonly Integer process.ppid;

stdin

Stream, Interroga l'oggetto di input standard del processo corrente, in tty In TTYInputStream, Altrimenti Stream

1
static readonly Stream process.stdin;

stdout

Stream, Interroga l'oggetto di output standard del processo corrente, in tty In TTYOutputStream, Altrimenti Stream

1
static readonly Stream process.stdout;

stderr

Stream, Interroga l'oggetto output di errore standard del processo corrente, in tty In TTYOutputStream, Altrimenti Stream

1
static readonly Stream process.stderr;

exitCode

Intero, interroga e imposta il codice di uscita del processo corrente

1
static Integer process.exitCode;