Modul Basismodul

Modulprozess

Prozessverarbeitungsmodul zur Verwaltung der Ressourcen des aktuellen Prozesses

Referenzmethode:

1
var process = require('process');

Ereignis verarbeiten

Das Prozessmodulobjekt ist eine Instanz von EventEmitter und kann auf Ereignisse auf Prozessebene reagieren, indem es Ereignis-Listener registriert.

beforeExit-Ereignis

Wenn die Aufgabe von fibjs bereits leer ist und keine zusätzliche Arbeit hinzugefügt wird, wird das Ereignis vor dem beforeExit ausgelöst

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

Normalerweise endet der Fibjs-Prozess, wenn der Task-Warteschlange keine zusätzliche Arbeit hinzugefügt wird. Wenn die an das Ereignis beforeExit gebundene Listener-Rückruffunktion jedoch eine neue Aufgabe startet, z. B. das Starten einer Glasfaser, wird der fibjs-Prozess weiterhin ausgeführt.

process.exitCode wird als einziger Parameterwert an die Rückruffunktion des beforeExit Ereignis-Listeners übergeben. Wenn der Prozess aus expliziten Gründen beendet werden soll, z. B. indem Sie process.exit direkt aufrufen oder eine nicht beforeExit Ausnahme beforeExit , wird das Ereignis beforeExit nicht ausgelöst.

Ereignis beenden

Wenn fibjs Exit - Ereignis exit wird ausgelöst, wenn alle exit Ereignisbindung Hörer Ausführung abgeschlossen ist, wird der Prozess beendet werden

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

exit Ereignis - Listener Rückruf, der einzige zu Senat kann der Wert des Parameters seine process.exitCode Eigenschaftswert oder Anruf process.exit geben , wenn die Methode exitCode Wert.

Signalereignis

Wenn der Fibjs-Prozess ein Signal empfängt, löst er ein Signalereignis aus. Derzeit werden die Signale SIGINT und SIGTERM unterstützt. Jeder Ereignisname wird in Großbuchstaben des Signalnamens ausgedrückt (z. B. entspricht das Ereignis 'SIGINT' dem Signal SIGINT).

Signalereignisse unterscheiden sich von anderen Prozessereignissen. Signalereignisse sind präventiv. Wenn ein Signal auftritt, wird das entsprechende Ereignis so schnell wie möglich ausgelöst, unabhängig von der aktuellen io Operation oder JavaScript-Operation. Sie können beispielsweise den folgenden Code verwenden, um die aktuelle Anwendung zu unterbrechen und den laufenden Status auszugeben:

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

Die Signalnamen und ihre Bedeutung sind wie folgt:

  • SIGINT: Wenn das Terminal ausgeführt wird, kann es von allen Plattformen unterstützt werden, normalerweise kann es durch STRG + C ausgelöst werden.
  • SIGTERM: Dieses Signal wird ausgelöst, wenn der Prozess beendet wird. Wird unter Windows nicht unterstützt.

Statische Funktion

umask

Ändern Sie die aktuelle Umask. Diese Methode wird von Windows nicht unterstützt

1
static Integer process.umask(Integer mask);

Parameter aufrufen:

  • mask : Integer, geben Sie eine neue Maske an

Gibt das Ergebnis zurück:

  • Integer , gibt die vorherige Maske zurück

Ändern Sie die aktuelle Umask. Diese Methode wird von Windows nicht unterstützt

1
static Integer process.umask(String mask);

Parameter aufrufen:

  • mask : String, geben Sie die neue Maske an, String-Typ oktal (zB: "0664")

Gibt das Ergebnis zurück:

  • Integer , gibt die vorherige Maske zurück

Gibt die aktuelle Umask zurück, die von Windows nicht unterstützt wird

1
static Integer process.umask();

Gibt das Ergebnis zurück:

  • Integer , gibt den aktuellen Maskenwert zurück

hrtime

Gibt die hochpräzise Zeit des Systems zurück. Diese Zeit hat nichts mit der aktuellen Zeit zu tun und wird nur für hochpräzises Timing verwendet.

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

Parameter aufrufen:

  • diff : Array, Anfangszeit zum Vergleich

Gibt das Ergebnis zurück:

  • Array , gibt die Timing-Zeit zurück, das Format ist [Sekunden, Nanosekunden]

exit

Beenden Sie den aktuellen Prozess und geben Sie exitCode als Prozessergebnis zurück

1
static process.exit();

Beenden Sie den aktuellen Prozess und geben Sie das Ergebnis zurück

1
static process.exit(Integer code);

Parameter aufrufen:

  • code : Integer, gibt das Prozessergebnis zurück

cwd

Gibt den aktuellen Arbeitspfad des Betriebssystems zurück

1
static String process.cwd();

Gibt das Ergebnis zurück:

  • String , gibt den aktuellen Systempfad zurück

chdir

Ändern Sie den aktuellen Arbeitspfad des Betriebssystems

1
static process.chdir(String directory);

Parameter aufrufen:

  • directory : String, geben Sie den neuen Pfad an

uptime

Abfrage der Laufzeitumgebung Laufzeit in Sekunden

1
static Number process.uptime();

Gibt das Ergebnis zurück:

  • Number , gibt einen numerischen Wert zurück, der die Zeit darstellt

memoryUsage

Fragen Sie den Speicherauslastungsbericht des aktuellen Prozesses ab

1
static Object process.memoryUsage();

Gibt das Ergebnis zurück:

  • Object , gibt einen Bericht zurück, der Speicher enthält

Der Speicherbericht liefert ähnliche Ergebnisse wie die folgenden:

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

Davon:

  • rss gibt die aktuelle physische Speichergröße des Prozesses zurück
  • heapTotal gibt die Größe des Heapspeichers der v8-Engine zurück
  • heapUsed gibt die Größe des Heapspeichers zurück, die von der v8-Engine verwendet wird

nextTick

Starten Sie eine Faser

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

Parameter aufrufen:

  • func : Funktion, geben Sie die Funktion für die Faserausführung an
  • args : ..., eine Folge von variablen Parametern, diese Folge wird an die Funktion übergeben

open

Führt die angegebene Befehlszeile aus, übernimmt die Prozesseingabe- und -ausgabestreams und gibt das Prozessobjekt zurück

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

Parameter aufrufen:

  • command : String, gibt die auszuführende Befehlszeile an
  • args : Array, geben Sie eine Liste der auszuführenden Argumente an
  • opts : Objekt, geben Sie die auszuführenden Optionen an

Gibt das Ergebnis zurück:

  • SubProcess gibt ein Prozessobjekt zurück, das die Ergebnisse des Laufs enthält

opts unterstützt die folgenden Optionen:

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

Führt die angegebene Befehlszeile aus, übernimmt die Prozesseingabe- und -ausgabestreams und gibt das Prozessobjekt zurück

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

Parameter aufrufen:

  • command : String, gibt die auszuführende Befehlszeile an
  • opts : Objekt, geben Sie die auszuführenden Optionen an

Gibt das Ergebnis zurück:

  • SubProcess gibt ein Prozessobjekt zurück, das die Ergebnisse des Laufs enthält

opts unterstützt die folgenden Optionen:

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

start

Führt die angegebene Befehlszeile aus und gibt das Prozessobjekt zurück

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

Parameter aufrufen:

  • command : String, gibt die auszuführende Befehlszeile an
  • args : Array, geben Sie eine Liste der auszuführenden Argumente an
  • opts : Objekt, geben Sie die auszuführenden Optionen an

Gibt das Ergebnis zurück:

  • SubProcess gibt ein Prozessobjekt zurück, das die Ergebnisse des Laufs enthält

opts unterstützt die folgenden Optionen:

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

Führt die angegebene Befehlszeile aus und gibt das Prozessobjekt zurück

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

Parameter aufrufen:

  • command : String, gibt die auszuführende Befehlszeile an
  • opts : Objekt, geben Sie die auszuführenden Optionen an

Gibt das Ergebnis zurück:

  • SubProcess gibt ein Prozessobjekt zurück, das die Ergebnisse des Laufs enthält

opts unterstützt die folgenden Optionen:

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

run

Führt die angegebene Befehlszeile aus und gibt den Endcode des Prozesses zurück

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

Parameter aufrufen:

  • command : String, gibt die auszuführende Befehlszeile an
  • args : Array, geben Sie eine Liste der auszuführenden Argumente an
  • opts : Objekt, geben Sie die auszuführenden Optionen an

Gibt das Ergebnis zurück:

  • Integer , gibt das Ergebnis der Ausführung des Befehls zurück

opts unterstützt die folgenden Optionen:

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

Führt die angegebene Befehlszeile aus und gibt den Endcode des Prozesses zurück

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

Parameter aufrufen:

  • command : String, gibt die auszuführende Befehlszeile an
  • opts : Objekt, geben Sie die auszuführenden Optionen an

Gibt das Ergebnis zurück:

  • Integer , gibt das Ergebnis der Ausführung des Befehls zurück

opts unterstützt die folgenden Optionen:

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

Statische Eigenschaft

argv

Array, gibt Befehlszeilenargumente für den aktuellen Prozess zurück

1
static readonly Array process.argv;

execArgv

Array, gibt spezielle Befehlszeilenparameter für den aktuellen Prozess zurück. Diese Parameter werden von fibjs zum Festlegen der laufenden Umgebung verwendet

1
static readonly Array process.execArgv;

version

String, gibt den fibjs-Versionsstring zurück

1
static readonly String process.version;

versions

Objekt, gibt Versionsinformationen für Fibjs und Komponenten zurück

1
static readonly Object process.versions;

execPath

String, fragen Sie den vollständigen Pfad der aktuellen Ausführungsdatei ab

1
static readonly String process.execPath;

env

Objekt, fragen Sie die Umgebungsvariablen des aktuellen Prozesses ab

1
static readonly Object process.env;

arch

String, fragen Sie die aktuelle CPU-Umgebung ab, die möglichen Ergebnisse sind 'amd64', 'arm', 'arm64', 'ia32'

1
static readonly String process.arch;

platform

String, fragen Sie den aktuellen Plattformnamen ab, die möglichen Ergebnisse sind 'darwin', 'freebsd', 'linux' oder 'win32'.

1
static readonly String process.platform;

pid

Ganzzahl, lesen Sie die ID des Prozesses, auf den das aktuelle Objekt zeigt

1
static readonly Integer process.pid;

ppid

Ganzzahl, lesen Sie die ID des übergeordneten Prozesses, auf den das aktuelle Objekt zeigt

1
static readonly Integer process.ppid;

stdin

File , fragen Sie das Standardeingabeobjekt des aktuellen Prozesses ab

1
static readonly File process.stdin;

stdout

File , fragen Sie das aktuelle Prozessstandard-Ausgabeobjekt ab

1
static readonly File process.stdout;

stderr

File , fragen Sie das Standardfehlerausgabeobjekt des aktuellen Prozesses ab

1
static readonly File process.stderr;

exitCode

Ganzzahl, Abfrage und Festlegen des Exit-Codes des aktuellen Prozesses

1
static Integer process.exitCode;