Modul Grundmodul

Modulprozess

Prozessverarbeitungsmodul, das zur Verwaltung der Ressourcen des aktuellen Prozesses verwendet wird

Referenzmethode:

1
var process = require('process');

Prozessereignisse

Das Prozessmodulobjekt istEventEmitterInstanzen können auf Ereignisse auf Prozessebene reagieren, indem sie Ereignis-Listener registrieren.

beforeExit-Ereignis

Wenn die fibjs-Aufgabe leer ist und keine zusätzliche Arbeit hinzugefügt wird, beforeExitwird das Ereignis ausgelöst

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

Wenn der Aufgabenwarteschlange keine zusätzliche Arbeit hinzugefügt wird, wird der fibjs-Prozess normalerweise beendet. Wenn jedoch beforeExitin der Rückruffunktion des ereignisgebundenen Listeners eine neue Aufgabe gestartet wird, beispielsweise das Starten einer Fiber, wird der fibjs-Prozess weiterhin ausgeführt.

process.exitCodeWird als einziger Parameterwert an beforeExitdie Rückruffunktion des Ereignis-Listeners übergeben. Wenn der Prozess aus expliziten Gründen, z. B. einem direkten Aufruf, kurz vor der Beendigung stehtprocess.exitOder lösen Sie eine nicht abgefangene Ausnahme aus und beforeExitdas Ereignis wird nicht ausgelöst.

Exit-Ereignis

Wenn fibjs beendet wird, exitwird das Ereignis ausgelöst. Sobald alle exitan das Ereignis gebundenen Listener die Ausführung abgeschlossen haben, wird der Prozess beendet.

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

exitDie Rückruffunktion des Ereignis-Listeners hat nur einen Eingabeparameter. Der Wert dieses Parameters kann seinprocess.exitCodeAttributwert oder Aufrufprocess.exitDer an die Methode übergebene Wert exitCode.

Signalereignis

Wenn der fibjs-Prozess ein Signal empfängt, wird ein Signalereignis ausgelöst. Derzeit unterstützte Signale sind SIGINT und SIGTERM. 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 werden vorbelegt. Wenn ein Signal auftritt, unabhängig vom StromioVorgänge, unabhängig davon, ob es sich um JavaScript-Vorgänge handelt, lösen das entsprechende Ereignis so schnell wie möglich aus. 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 lauten wie folgt:

  • SIGINT: Bei der Ausführung im Terminal kann es von allen Plattformen unterstützt werden und kann in der Regel 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. Windows unterstützt diese Methode nicht

1
static Integer process.umask(Integer mask);

Aufrufparameter:

  • mask: Ganzzahl, neue Maske angeben

Rückgabeergebnisse:

  • Integer, kehren Sie zur vorherigen Maske zurück

Ändern Sie die aktuelle Umask. Windows unterstützt diese Methode nicht

1
static Integer process.umask(String mask);

Aufrufparameter:

  • mask: String, gibt die neue Maske an, String-Typ oktal (z. B. „0664“)

Rückgabeergebnisse:

  • Integer, kehren Sie zur vorherigen Maske zurück

Gibt die aktuelle umask zurück. Windows unterstützt diese Methode nicht.

1
static Integer process.umask();

Rückgabeergebnisse:

  • 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 die hochpräzise Zeitmessung verwendet.

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

Aufrufparameter:

  • diff: Array, Anfangszeit, die zum Vergleich verwendet wird

Rückgabeergebnisse:

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

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

Aufrufparameter:

  • code: Ganzzahl, gibt das Prozessergebnis zurück

cwd

Gibt den aktuellen Arbeitspfad des Betriebssystems zurück

1
static String process.cwd();

Rückgabeergebnisse:

  • String, gibt den aktuellen Systempfad zurück

dlopen

Dynamisches Laden von C++-Addons

1 2 3
static process.dlopen(Object module, String filename, Integer flags = 1);

Aufrufparameter:

  • module: Objekt, gibt das zu ladende Modul an
  • filename: String, gibt den Namen der zu ladenden Moduldatei an
  • flags: Ganzzahl, gibt die Art und Weise an, wie das Modul geladen wird. Der Standardwert ist 1

chdir

Ändern Sie den aktuellen Arbeitspfad des Betriebssystems

1
static process.chdir(String directory);

Aufrufparameter:

  • directory: String, geben Sie den neuen Pfad der Einstellung an

uptime

Fragen Sie die Laufzeit der laufenden Umgebung in Sekunden ab

1
static Number process.uptime();

Rückgabeergebnisse:

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

cpuUsage

Fragen Sie die Zeit ab, die der aktuelle Prozess im Benutzer- und Systemcode verbringt. Der Wert ist ein Mikrosekundenwert (Millionstelsekunden).

1
static Object process.cpuUsage(Object previousValue = {});

Aufrufparameter:

  • previousValue: Objekt, gibt den Zeitpunkt der letzten Abfrage an

Rückgabeergebnisse:

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

Der Speicherbericht liefert Ergebnisse ähnlich den folgenden:

1 2 3 4
{ "user": 132379, "system": 50507 }

In:

  • user gibt die Zeit zurück, die der Prozess im Benutzercode verbracht hat
  • Das System gibt die Zeit zurück, die der Prozess im Systemcode verbracht hat

memoryUsage

Fragen Sie den Speichernutzungsbericht des aktuellen Prozesses ab

1
static Object process.memoryUsage();

Rückgabeergebnisse:

  • Object, gibt einen Bericht mit Speicher zurück

Der Speicherbericht liefert Ergebnisse ähnlich den folgenden:

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

In:

  • rss gibt die aktuell vom Prozess belegte physische Speichergröße zurück
  • heapTotal gibt die Heap-Speichergröße der v8-Engine zurück
  • heapUsed gibt die Heap-Speichergröße zurück, die von der v8-Engine verwendet wird

nextTick

Starten Sie eine Faser

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

Aufrufparameter:

  • func: Funktion, geben Sie die von der Faser ausgeführte Funktion an
  • args: ..., eine verschiedene Folge von Argumenten, die innerhalb der Faser an die Funktion übergeben werden

binding

Rufen Sie das interne Modul mit dem angegebenen Namen ab

1
static Value process.binding(String name);

Aufrufparameter:

  • name: String, gibt den internen Modulnamen an, der abgefragt werden soll

Rückgabeergebnisse:

  • Value, gibt das angegebene interne Modul zurück

getgid

Fragen Sie die Gruppen-ID des aktuellen Prozesses ab

1
static Integer process.getgid();

Rückgabeergebnisse:

  • Integer, gibt die Gruppen-ID des aktuellen Prozesses zurück

getuid

Fragen Sie die Benutzer-ID des aktuellen Prozesses ab

1
static Integer process.getuid();

Rückgabeergebnisse:

  • Integer, gibt die Benutzer-ID des aktuellen Prozesses zurück

setgid

Legen Sie die Gruppen-ID des aktuellen Prozesses fest

1
static process.setgid(Integer id);

Aufrufparameter:

  • id: Ganzzahl, geben Sie die festzulegende Gruppen-ID an

setuid

Legen Sie die Benutzer-ID des aktuellen Prozesses fest

1
static process.setuid(Integer id);

Aufrufparameter:

  • id: Ganzzahl, geben Sie die festzulegende Benutzer-ID an

emitWarning

Geben Sie benutzerdefinierte oder anwendungsspezifische Prozesswarnungen aus. Diese Ereignisse können abgehört werden, indem dem Ereignis „Warnung“ ein Handler hinzugefügt wird

1 2
static process.emitWarning(Value warning, Object options);

Aufrufparameter:

  • warning: Wert, gibt die auszugebende Warnung an
  • Optionen: Objekt, Optionen zum Angeben von Warnungen

    Zu den Optionen gehören:

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 }

So verwenden Sie es:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
const { 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' });

Geben Sie benutzerdefinierte oder anwendungsspezifische Prozesswarnungen aus. Diese Ereignisse können abgehört werden, indem dem Ereignis „Warnung“ ein Handler hinzugefügt wird

1 2 3
static process.emitWarning(Value warning, String type = "Warning", String code = "");

Aufrufparameter:

  • warning: Wert, gibt die auszugebende Warnung an
  • type: String, gibt den Namen des Typs der auszugebenden Warnung an. Standard: „Warnung“
  • code: String, gibt die eindeutige Kennung der ausgegebenen Warninstanz an

disconnect

Schließen Sie die IPC-Pipe zum übergeordneten Prozess

1
static process.disconnect();

send

Senden Sie eine Nachricht an den übergeordneten Prozess

1
static process.send(Value msg);

Aufrufparameter:

  • msg: Wert, gibt die zu sendende Nachricht an

statische Eigenschaften

argv

Array gibt die Befehlszeilenparameter des aktuellen Prozesses zurück

1
static readonly Array process.argv;

execArgv

Array gibt die speziellen Befehlszeilenparameter des aktuellen Prozesses zurück. Diese Parameter werden von fibjs verwendet, um die laufende Umgebung festzulegen.

1
static readonly Array process.execArgv;

version

String, gibt den fibjs-Versionsstring zurück

1
static readonly String process.version;

versions

Objekt, gibt die Versionsinformationen von FIBJS und Komponenten zurück

1
static readonly Object process.versions;

execPath

String, fragen Sie den vollständigen Pfad der aktuell ausgeführten 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

Zeichenfolge, Abfrage der aktuellen CPU-Umgebung, mögliche Ergebnisse sind „amd64“, „arm“, „arm64“, „ia32“.

1
static readonly String process.arch;

platform

Zeichenfolge, fragen Sie den aktuellen Plattformnamen ab. Mögliche Ergebnisse sind „darwin“, „freebsd“, „linux“ oder „win32“.

1
static readonly String process.platform;

pid

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

1
static readonly Integer process.pid;

ppid

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

1
static readonly Integer process.ppid;

stdin

StreamFragen Sie das Standardeingabeobjekt des aktuellen Prozesses abttyZhongweiTTYInputStream, ansonstenStream

1
static readonly Stream process.stdin;

stdout

StreamFragen Sie das Standardausgabeobjekt des aktuellen Prozesses abttyZhongweiTTYOutputStream, ansonstenStream

1
static readonly Stream process.stdout;

stderr

StreamFragen Sie das Standardfehlerausgabeobjekt des aktuellen Prozesses abttyZhongweiTTYOutputStream, ansonstenStream

1
static readonly Stream process.stderr;

exitCode

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

1
static Integer process.exitCode;

connected

Boolescher Wert, fragen Sie ab, ob die Pipe normal mit dem übergeordneten Prozess verbunden ist

1
static readonly Boolean process.connected;