Modul Grundmodul

Modulprozess

Prozessverarbeitungsmodul zum Verwalten der Ressourcen des aktuellen Prozesses

Referenzmethode:

1
var process = require('process');

Ereignis verarbeiten

Das Prozessmodulobjekt ist eine Instanz von EventEmitter , die auf Ereignisse auf Prozessebene reagieren kann, indem sie einen Ereignis-Listener registriert.

beforeExit-Ereignis

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

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

Normalerweise wird der Fibjs-Prozess beendet, wenn der Task-Warteschlange keine zusätzliche Arbeit hinzugefügt wird. Wenn die Rückruffunktion des Listeners, der an das Ereignis beforeExit gebunden ist, 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 beforeExit direkt process.exit oder eine nicht beforeExit Ausnahme ausgelöst wird, wird das Ereignis beforeExit nicht ausgelöst.

Ereignis beenden

Wenn fibjs verlässt, wird das Ereignis exit ausgelöst. Sobald alle an den gebundenen Hörer exit Ereignis ausgeführt werden, wird der Prozess beendet

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

Die Callback - Funktion des exit Zuhörers hat nur ein Eingabeparameter. Der Wert dieses Parameters ist der Attributwert sein kann process.exitCode oder der Wert von exitCode in geben , wenn die process.exit Methode aufgerufen wird.

Signalereignis

Wenn der Fibjs-Prozess ein Signal empfängt, löst er ein Signalereignis aus. Die derzeit unterstützten Signale sind SIGINT und SIGTERM. Der Name jedes Ereignisses wird durch die Großschreibung des Signalnamens angezeigt (zum Beispiel entspricht das Ereignis 'SIGINT' dem Signal SIGINT).

Signalereignisse unterscheiden sich von anderen Prozessereignissen. Signalereignisse werden ausgeschlossen. Wenn ein Signal auftritt, wird das entsprechende Ereignis unabhängig von der aktuellen io Operation oder JavaScript-Operation so schnell wie möglich ausgelöst. 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(); });

Der Signalname und seine Bedeutung lauten wie folgt:

  • SIGINT: Wenn das Terminal ausgeführt wird, kann es von allen Plattformen unterstützt und normalerweise 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);

Parameter aufrufen:

  • mask : Integer, geben Sie eine neue Maske an

Ergebnis zurückgeben:

  • Integer , geben Sie die vorherige Maske zurück

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

1
static Integer process.umask(String mask);

Parameter aufrufen:

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

Ergebnis zurückgeben:

  • Integer , geben Sie die vorherige Maske zurück

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

1
static Integer process.umask();

Ergebnis zurückgeben:

  • 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, sondern wird nur für hochpräzises Timing verwendet

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

Parameter aufrufen:

  • diff : Array, Anfangszeit zum Vergleich

Ergebnis zurückgeben:

  • 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, Rückgabe des Prozessergebnisses

cwd

Gibt den aktuellen Arbeitspfad des Betriebssystems zurück

1
static String process.cwd();

Ergebnis zurückgeben:

  • 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 einen neuen Pfad an

uptime

Fragen Sie die Laufzeit der Betriebsumgebung in Sekunden ab

1
static Number process.uptime();

Ergebnis zurückgeben:

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

memoryUsage

Fragen Sie den aktuellen Bericht zur Prozessspeicherauslastung ab

1
static Object process.memoryUsage();

Ergebnis zurückgeben:

  • 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 }

darunter:

  • 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, der von der v8-Engine verwendet wird

nextTick

Starten Sie eine Faser

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

Parameter aufrufen:

  • func : Funktion, formuliere die Funktion der Faserausführung
  • args : ..., variable Parametersequenz, diese Sequenz wird an die Funktion in der Faser übergeben

binding

Holen Sie sich das interne Modul mit dem angegebenen Namen

1
static Value process.binding(String name);

Parameter aufrufen:

  • name : String, gibt den name des internen Moduls an, das abgefragt werden soll

Ergebnis zurückgeben:

  • Value , geben Sie das angegebene interne Modul zurück

open

Führen Sie die angegebene Befehlszeile aus, übernehmen Sie die Prozesseingabe- und -ausgabestreams und geben Sie das Prozessobjekt zurück

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

Parameter aufrufen:

  • command : String, geben Sie die auszuführende Befehlszeile an
  • args : Array, geben Sie die auszuführende Parameterliste an
  • opts : Objekt, Optionen für die Ausführung angeben

Ergebnis zurückgeben:

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

Folgende Optionen werden von opts unterstützt:

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

Führen Sie die angegebene Befehlszeile aus, übernehmen Sie die Prozesseingabe- und -ausgabestreams und geben Sie das Prozessobjekt zurück

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

Parameter aufrufen:

  • command : String, geben Sie die auszuführende Befehlszeile an
  • opts : Objekt, Optionen für die Ausführung angeben

Ergebnis zurückgeben:

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

Folgende Optionen werden von opts unterstützt:

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

start

Führen Sie die angegebene Befehlszeile aus und geben Sie das Prozessobjekt zurück

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

Parameter aufrufen:

  • command : String, geben Sie die auszuführende Befehlszeile an
  • args : Array, geben Sie die auszuführende Parameterliste an
  • opts : Objekt, Optionen für die Ausführung angeben

Ergebnis zurückgeben:

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

Folgende Optionen werden von opts unterstützt:

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

Führen Sie die angegebene Befehlszeile aus und geben Sie das Prozessobjekt zurück

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

Parameter aufrufen:

  • command : String, geben Sie die auszuführende Befehlszeile an
  • opts : Objekt, Optionen für die Ausführung angeben

Ergebnis zurückgeben:

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

Folgende Optionen werden von opts unterstützt:

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

run

Führen Sie die angegebene Befehlszeile aus und geben Sie den Endcode des Prozesses zurück

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

Parameter aufrufen:

  • command : String, geben Sie die auszuführende Befehlszeile an
  • args : Array, geben Sie die auszuführende Parameterliste an
  • opts : Objekt, Optionen für die Ausführung angeben

Ergebnis zurückgeben:

  • Integer , geben Sie das laufende Ergebnis des Befehls zurück

Folgende Optionen werden von opts unterstützt:

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

Führen Sie die angegebene Befehlszeile aus und geben Sie den Endcode des Prozesses zurück

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

Parameter aufrufen:

  • command : String, geben Sie die auszuführende Befehlszeile an
  • opts : Objekt, Optionen für die Ausführung angeben

Ergebnis zurückgeben:

  • Integer , geben Sie das laufende Ergebnis des Befehls zurück

Folgende Optionen werden von opts unterstützt:

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

Statische Eigenschaft

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

Object, gibt die Versionsinformationen von 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

Zeichenfolge, fragen Sie den aktuellen Plattformnamen ab. Das mögliche Ergebnis ist "arwin", "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 Standardausgabeobjekt des aktuellen Prozesses ab

1
static readonly File process.stdout;

stderr

File , fragen Sie das aktuelle Prozessstandard-Fehlerausgabeobjekt ab

1
static readonly File process.stderr;

exitCode

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

1
static Integer process.exitCode;