Modulprozess
Prozessverarbeitungsmodul, das zur Verwaltung der Ressourcen des aktuellen Prozesses verwendet wird
Referenzmethode:
1var 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, beforeExit
wird das Ereignis ausgelöst
1process.on('beforeExit', exitCode => {});
Wenn der Aufgabenwarteschlange keine zusätzliche Arbeit hinzugefügt wird, wird der fibjs-Prozess normalerweise beendet. Wenn jedoch beforeExit
in 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 beforeExit
die 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 beforeExit
das Ereignis wird nicht ausgelöst.
Exit-Ereignis
Wenn fibjs beendet wird, exit
wird das Ereignis ausgelöst. Sobald alle exit
an das Ereignis gebundenen Listener die Ausführung abgeschlossen haben, wird der Prozess beendet.
1process.on('exit', exitCode => {});
exit
Die 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
6var 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
1static 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
1static 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.
1static 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.
1static 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
1static process.exit();
Beenden Sie den aktuellen Prozess und geben Sie das Ergebnis zurück
1static process.exit(Integer code);
Aufrufparameter:
- code: Ganzzahl, gibt das Prozessergebnis zurück
cwd
Gibt den aktuellen Arbeitspfad des Betriebssystems zurück
1static String process.cwd();
Rückgabeergebnisse:
- String, gibt den aktuellen Systempfad zurück
dlopen
Dynamisches Laden von C++-Addons
1
2
3static 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
1static 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
1static 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).
1static 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
1static 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
2static 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
1static 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
1static 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
1static 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
1static process.setgid(Integer id);
Aufrufparameter:
- id: Ganzzahl, geben Sie die festzulegende Gruppen-ID an
setuid
Legen Sie die Benutzer-ID des aktuellen Prozesses fest
1static 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
2static 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
17const {
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
3static 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
1static process.disconnect();
send
Senden Sie eine Nachricht an den übergeordneten Prozess
1static 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
1static 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.
1static readonly Array process.execArgv;
version
String, gibt den fibjs-Versionsstring zurück
1static readonly String process.version;
versions
Objekt, gibt die Versionsinformationen von FIBJS und Komponenten zurück
1static readonly Object process.versions;
execPath
String, fragen Sie den vollständigen Pfad der aktuell ausgeführten Ausführungsdatei ab
1static readonly String process.execPath;
env
Objekt, fragen Sie die Umgebungsvariablen des aktuellen Prozesses ab
1static readonly Object process.env;
arch
Zeichenfolge, Abfrage der aktuellen CPU-Umgebung, mögliche Ergebnisse sind „amd64“, „arm“, „arm64“, „ia32“.
1static readonly String process.arch;
platform
Zeichenfolge, fragen Sie den aktuellen Plattformnamen ab. Mögliche Ergebnisse sind „darwin“, „freebsd“, „linux“ oder „win32“.
1static readonly String process.platform;
pid
Ganzzahl, liest die ID des Prozesses, auf den das aktuelle Objekt zeigt
1static readonly Integer process.pid;
ppid
Ganzzahl, liest die ID des übergeordneten Prozesses, auf den das aktuelle Objekt zeigt
1static readonly Integer process.ppid;
stdin
StreamFragen Sie das Standardeingabeobjekt des aktuellen Prozesses abttyZhongweiTTYInputStream, ansonstenStream
1static readonly Stream process.stdin;
stdout
StreamFragen Sie das Standardausgabeobjekt des aktuellen Prozesses abttyZhongweiTTYOutputStream, ansonstenStream
1static readonly Stream process.stdout;
stderr
StreamFragen Sie das Standardfehlerausgabeobjekt des aktuellen Prozesses abttyZhongweiTTYOutputStream, ansonstenStream
1static readonly Stream process.stderr;
exitCode
Ganzzahl, Abfrage und Festlegung des Exit-Codes des aktuellen Prozesses
1static Integer process.exitCode;
connected
Boolescher Wert, fragen Sie ab, ob die Pipe normal mit dem übergeordneten Prozess verbunden ist
1static readonly Boolean process.connected;