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 del processo è un'istanza di EventEmitter , che può rispondere agli eventi a livello di processo registrando i listener di eventi.

evento beforeExit

Quando l'attività di fibjs è vuota e non viene aggiunto alcun lavoro aggiuntivo, verrà attivato l'evento beforeExit

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

Normalmente, se non viene aggiunto alcun lavoro extra alla coda delle attività, il processo fibjs terminerà. Ma se viene avviata una nuova attività nella funzione di callback del listener associato all'evento beforeExit , come l'avvio di una fibra, il processo fibjs continuerà a essere eseguito.

process.exitCode viene passato come unico valore di parametro alla funzione di callback del beforeExit eventi beforeExit . Se il processo sta per terminare a causa di un motivo esplicito, come la chiamata diretta a process.exit o la beforeExit un'eccezione non beforeExit , l'evento beforeExit non verrà attivato.

evento di uscita

Quando fibjs esce, verrà attivato l'evento di exit . Una volta che tutti i listener associati all'evento di exit sono stati eseguiti, il processo terminerà

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

La funzione di callback del listener di eventi di exit ha un solo parametro di input Il valore di questo parametro può essere il valore dell'attributo di process.exitCode o il valore exitCode passato quando viene chiamato il metodo process.exit .

Evento di segnale

Quando il processo fibjs riceve un segnale, attiverà un evento di segnale I segnali attualmente supportati sono SIGINT e SIGTERM. Il nome di ogni evento è rappresentato dalle lettere maiuscole 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 dall'operazione io o JavaScript corrente, l'evento corrispondente verrà attivato 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

Modificare la umask corrente, Windows non supporta questo metodo

1
static Integer process.umask(Integer mask);

Parametri di chiamata:

  • mask : numero intero, specifica una nuova maschera

Risultato di ritorno:

  • Integer , restituisce la maschera precedente

Modificare la umask corrente, Windows non supporta questo metodo

1
static Integer process.umask(String mask);

Parametri di chiamata:

  • mask : String, specifica una nuova mask, string type ottale (es: "0664")

Risultato di ritorno:

  • Integer , restituisce la 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 volta non ha nulla a che fare con l'ora corrente, utilizzata solo per temporizzazione ad alta precisione

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

Parametri di chiamata:

  • diff : array, tempo iniziale per il confronto

Risultato di ritorno:

  • Array , restituisce il tempo di temporizzazione, il formato è [secondi, nanosecondi]

exit

Esci dal processo corrente e restituisci 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

Modifica il percorso di lavoro corrente del sistema operativo

1
static process.chdir(String directory);

Parametri di chiamata:

  • directory : String, specifica il nuovo set di percorsi

uptime

Interroga il tempo di esecuzione dell'ambiente in esecuzione, in secondi

1
static Number process.uptime();

Risultato di ritorno:

  • Number , restituisce un valore numerico che rappresenta l'ora

memoryUsage

Interroga il rapporto sull'utilizzo della memoria del processo corrente

1
static Object process.memoryUsage();

Risultato di ritorno:

  • Object , il ritorno contiene il rapporto di memoria

Il rapporto sulla memoria genera risultati simili ai seguenti:

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

tra loro:

  • rss restituisce la dimensione della memoria fisica attualmente occupata dal processo
  • heapTotal restituisce la dimensione della memoria dell'heap del motore v8
  • heapUsed restituisce la dimensione della memoria heap utilizzata dal motore v8

nextTick

Inizia una fibra

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

Parametri di chiamata:

  • func : Function, specifica la funzione eseguita dalla fibra
  • args : ..., una 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, specifica il name del modulo interno da interrogare

Risultato di ritorno:

  • Value , restituisce il modulo interno specificato

open

Eseguire la riga di comando specificata, assumere il controllo dei flussi di input e output del processo e restituire l'oggetto del processo

1 2 3
static SubProcess process.open(String command, Array args, Object opts = {});

Parametri di chiamata:

  • command : stringa, specifica la riga di comando da eseguire
  • args : Array, specifica l'elenco di parametri da eseguire
  • opts : Object, specifica le opzioni da eseguire

Risultato di ritorno:

  • SubProcess , restituisce l'oggetto del processo contenente il risultato in esecuzione

Le opzioni supportate da opts sono le seguenti:

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

Eseguire la riga di comando specificata, assumere il controllo dei flussi di input e output del processo e restituire l'oggetto del processo

1 2
static SubProcess process.open(String command, Object opts = {});

Parametri di chiamata:

  • command : stringa, specifica la riga di comando da eseguire
  • opts : Object, specifica le opzioni da eseguire

Risultato di ritorno:

  • SubProcess , restituisce l'oggetto del processo contenente il risultato in esecuzione

Le opzioni supportate da opts sono le seguenti:

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

start

Eseguire la riga di comando specificata e restituire l'oggetto del processo

1 2 3
static SubProcess process.start(String command, Array args, Object opts = {});

Parametri di chiamata:

  • command : stringa, specifica la riga di comando da eseguire
  • args : Array, specifica l'elenco di parametri da eseguire
  • opts : Object, specifica le opzioni da eseguire

Risultato di ritorno:

  • SubProcess , restituisce l'oggetto del processo contenente il risultato in esecuzione

Le opzioni supportate da opts sono le seguenti:

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

Eseguire la riga di comando specificata e restituire l'oggetto del processo

1 2
static SubProcess process.start(String command, Object opts = {});

Parametri di chiamata:

  • command : stringa, specifica la riga di comando da eseguire
  • opts : Object, specifica le opzioni da eseguire

Risultato di ritorno:

  • SubProcess , restituisce l'oggetto del processo contenente il risultato in esecuzione

Le opzioni supportate da opts sono le seguenti:

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

run

Eseguire la riga di comando specificata e restituire il codice finale del processo

1 2 3
static Integer process.run(String command, Array args, Object opts = {}) async;

Parametri di chiamata:

  • command : stringa, specifica la riga di comando da eseguire
  • args : Array, specifica l'elenco di parametri da eseguire
  • opts : Object, specifica le opzioni da eseguire

Risultato di ritorno:

  • Integer , restituisce il risultato del comando

Le opzioni supportate da opts sono le seguenti:

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

Eseguire la riga di comando specificata e restituire il codice finale del processo

1 2
static Integer process.run(String command, Object opts = {}) async;

Parametri di chiamata:

  • command : stringa, specifica la riga di comando da eseguire
  • opts : Object, specifica le opzioni da eseguire

Risultato di ritorno:

  • Integer , restituisce il risultato del comando

Le opzioni supportate da opts sono le seguenti:

1 2 3 4
{ "timeout": 100, // 单位为 ms "env": {} // 进程环境变量 }

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

Object, restituisce le informazioni sulla versione di fibj e componenti

1
static readonly Object process.versions;

execPath

String, interroga il percorso completo del file di esecuzione corrente

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 corrente della cpu, 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 "arwin", "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 a cui punta l'oggetto corrente

1
static readonly Integer process.ppid;

stdin

File , interroga l'oggetto di input standard del processo corrente

1
static readonly File process.stdin;

stdout

File , interroga l'oggetto di output standard del processo corrente

1
static readonly File process.stdout;

stderr

File , interroga l'oggetto di output degli errori standard del processo corrente

1
static readonly File process.stderr;

exitCode

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

1
static Integer process.exitCode;