module proces
Procesverwerkingsmodule, gebruikt om de bronnen van het huidige proces te beheren
Referentiemethode:
1var process = require('process');
gebeurtenissen verwerken
Het procesmoduleobject isEventEmitterInstanties kunnen reageren op gebeurtenissen op procesniveau door gebeurtenislisteners te registreren.
beforeExit-gebeurtenis
Wanneer de fibjs-taak leeg is en er geen extra werk wordt toegevoegd, beforeExit
wordt de gebeurtenis geactiveerd
1process.on('beforeExit', exitCode => {});
Normaal gesproken eindigt het fibjs-proces als er geen extra werk aan de takenwachtrij wordt toegevoegd. Maar als er beforeExit
een nieuwe taak wordt gestart in de callback-functie van de gebeurtenisgebonden luisteraar, zoals het starten van een glasvezel, blijft het fibjs-proces draaien.
process.exitCodeDoorgegeven als de enige parameterwaarde voor beforeExit
de callback-functie van de gebeurtenislistener. Als het proces om expliciete redenen, zoals rechtstreeks bellen, op het punt staat te worden beëindigdprocess.exitOf gooi een niet-afgevangen uitzondering en beforeExit
de gebeurtenis wordt niet geactiveerd.
exit evenement
Wanneer fibjs afsluit, exit
wordt de gebeurtenis geactiveerd. Zodra alle exit
luisteraars die aan de gebeurtenis zijn gebonden de uitvoering hebben voltooid, wordt het proces beëindigd.
1process.on('exit', exitCode => {});
exit
De callback-functie van de gebeurtenislistener heeft slechts één invoerparameter. De waarde van deze parameter kan zijn:process.exitCodeattribuutwaarde of callprocess.exitDe waarde die wordt doorgegeven aan de methode exitCode
.
Signaal gebeurtenis
Wanneer het fibjs-proces een signaal ontvangt, wordt er een signaalgebeurtenis geactiveerd. Momenteel ondersteunde signalen zijn SIGINT en SIGTERM. Elke gebeurtenisnaam wordt uitgedrukt in hoofdletters van de signaalnaam (de gebeurtenis 'SIGINT' komt bijvoorbeeld overeen met het signaal SIGINT).
Signaalgebeurtenissen verschillen van andere procesgebeurtenissen. Signaalgebeurtenissen worden onderdrukt. Wanneer een signaal optreedt, ongeacht de stroomsterkteioBewerkingen, of het nu om JavaScript-bewerkingen gaat, zullen de overeenkomstige gebeurtenis zo snel mogelijk activeren. U kunt bijvoorbeeld de volgende code gebruiken om de huidige toepassing te onderbreken en de actieve status weer te geven:
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();
});
De signaalnamen en hun betekenis zijn als volgt:
- SIGINT: Wanneer het in de terminal wordt uitgevoerd, kan het door alle platforms worden ondersteund en kan het meestal worden geactiveerd door CTRL+C.
- SIGTERM: Dit signaal wordt geactiveerd wanneer het proces wordt beëindigd. Niet ondersteund onder Windows.
statische functie
umask
Wijzig het huidige umask, Windows ondersteunt deze methode niet
1static Integer process.umask(Integer mask);
Oproepparameters:
- mask: geheel getal, geef een nieuw masker op
Resultaten retourneren:
- Integer, keer terug naar het vorige masker
Wijzig het huidige umask, Windows ondersteunt deze methode niet
1static Integer process.umask(String mask);
Oproepparameters:
- mask: String, specificeert het nieuwe masker, stringtype octaal (bijv.: "0664")
Resultaten retourneren:
- Integer, keer terug naar het vorige masker
Retourneert het huidige umask. Windows ondersteunt deze methode niet.
1static Integer process.umask();
Resultaten retourneren:
- Integer, retourneert de huidige maskerwaarde
hrtime
Retourneert de uiterst nauwkeurige tijd van het systeem. Deze tijd heeft niets te maken met de huidige tijd en wordt alleen gebruikt voor uiterst nauwkeurige timing.
1static Array process.hrtime(Array diff = []);
Oproepparameters:
- diff: Array, initiële tijd gebruikt voor vergelijking
Resultaten retourneren:
- Array, retourneert de timingtijd in de notatie [seconden, nanoseconden]
exit
Sluit het huidige proces af en retourneer exitCode als het procesresultaat
1static process.exit();
Sluit het huidige proces af en retourneer het resultaat
1static process.exit(Integer code);
Oproepparameters:
- code: Geheel getal, retourneert het procesresultaat
cwd
Retourneert het huidige werkpad van het besturingssysteem
1static String process.cwd();
Resultaten retourneren:
- String, retourneert het huidige systeempad
dlopen
Dynamisch laden van C++ Addons
1
2
3static process.dlopen(Object module,
String filename,
Integer flags = 1);
Oproepparameters:
- module: Object, specificeert de module die moet worden geladen
- filename: String, specificeert de modulebestandsnaam die moet worden geladen
- flags: Geheel getal, specificeert de manier waarop de module wordt geladen, de standaardwaarde is 1
chdir
Wijzig het huidige werkpad van het besturingssysteem
1static process.chdir(String directory);
Oproepparameters:
- directory: String, geef het nieuwe pad van de instelling op
uptime
Vraag de looptijd van de actieve omgeving op, in seconden
1static Number process.uptime();
Resultaten retourneren:
- Number, retourneert een numerieke waarde die de tijd vertegenwoordigt
cpuUsage
Vraag de tijd op die door het huidige proces wordt besteed in gebruikers- en systeemcode. De waarde is een microsecondewaarde (miljoenste van een seconde)
1static Object process.cpuUsage(Object previousValue = {});
Oproepparameters:
- previousValue: Object, specificeert het tijdstip van de laatste zoekopdracht
Resultaten retourneren:
- Object, retourneert een rapport met de tijd
Het geheugenrapport levert resultaten op die vergelijkbaar zijn met de volgende:
1
2
3
4{
"user": 132379,
"system": 50507
}
Onder hen:
- gebruiker retourneert de tijd die het proces in gebruikerscode heeft doorgebracht
- systeem retourneert de tijd die het proces in systeemcode heeft doorgebracht
memoryUsage
Vraag het geheugengebruiksrapport van het huidige proces op
1static Object process.memoryUsage();
Resultaten retourneren:
- Object, retourneert een rapport met geheugen
Het geheugenrapport levert resultaten op die vergelijkbaar zijn met de volgende:
1
2
3
4
5{
"rss": 8622080,
"heapTotal": 4083456,
"heapUsed": 1621800
}
Onder hen:
- rss retourneert de huidige fysieke geheugengrootte die door het proces wordt ingenomen
- heapTotal retourneert de heapgeheugengrootte van de v8-engine
- heapUsed retourneert de heap-geheugengrootte die door de v8-engine wordt gebruikt
nextTick
begin een vezel
1
2static process.nextTick(Function func,
...args);
Oproepparameters:
- func: Functie: specificeer de functie die door de vezel wordt uitgevoerd
- args: ..., een variabele reeks argumenten die worden doorgegeven aan de functie binnen de vezel
binding
Haal de interne module met de opgegeven naam op
1static Value process.binding(String name);
Oproepparameters:
- name: String, specificeert de interne modulenaam die moet worden opgevraagd
Resultaten retourneren:
- Value, retourneert de opgegeven interne module
getgid
Vraag de groeps-ID van het huidige proces op
1static Integer process.getgid();
Resultaten retourneren:
- Integer, retourneert de groeps-ID van het huidige proces
getuid
Vraag de gebruikers-ID van het huidige proces op
1static Integer process.getuid();
Resultaten retourneren:
- Integer, retourneert de gebruikers-ID van het huidige proces
setgid
Stel de groeps-ID van het huidige proces in
1static process.setgid(Integer id);
Oproepparameters:
- id: geheel getal, geef de groeps-ID op die moet worden ingesteld
setuid
Stel de gebruikers-ID van het huidige proces in
1static process.setuid(Integer id);
Oproepparameters:
- id: geheel getal, geef de in te stellen gebruikers-ID op
emitWarning
Geef aangepaste of applicatiespecifieke proceswaarschuwingen af. Deze gebeurtenissen kunnen worden beluisterd door een handler toe te voegen aan de 'warning'-gebeurtenis
1
2static process.emitWarning(Value warning,
Object options);
Oproepparameters:
- warning: Waarde, specificeert de waarschuwing die moet worden afgegeven
opties: Object, opties om waarschuwingen op te geven
Opties omvatten het volgende:
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
}
Hoe te gebruiken:
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'
});
Geef aangepaste of applicatiespecifieke proceswaarschuwingen af. Deze gebeurtenissen kunnen worden beluisterd door een handler toe te voegen aan de 'warning'-gebeurtenis
1
2
3static process.emitWarning(Value warning,
String type = "Warning",
String code = "");
Oproepparameters:
- warning: Waarde, specificeert de waarschuwing die moet worden afgegeven
- type: String, specificeert de naam van het type waarschuwing dat moet worden afgegeven. Standaard: 'Waarschuwing'
- code: String, specificeert de unieke identificatie van het afgegeven waarschuwingsexemplaar
disconnect
Sluit de ipc-pipe naar het bovenliggende proces
1static process.disconnect();
send
Stuur een bericht naar het bovenliggende proces
1static process.send(Value msg);
Oproepparameters:
- msg: Waarde, specificeert het bericht dat moet worden verzonden
statische eigenschappen
argv
Array, retourneert de opdrachtregelparameters van het huidige proces
1static readonly Array process.argv;
execArgv
Array retourneert de speciale opdrachtregelparameters van het huidige proces. Deze parameters worden door fibjs gebruikt om de actieve omgeving in te stellen.
1static readonly Array process.execArgv;
version
String, retourneert de tekenreeks van de fibjs-versie
1static readonly String process.version;
versions
Object, retourneert de versie-informatie van fibjs en componenten
1static readonly Object process.versions;
execPath
String, vraag het volledige pad op van het momenteel actieve uitvoeringsbestand
1static readonly String process.execPath;
env
Object, bevraag de omgevingsvariabelen van het huidige proces
1static readonly Object process.env;
arch
String, zoek naar de huidige CPU-omgeving, mogelijke resultaten zijn 'amd64', 'arm', 'arm64', 'ia32'
1static readonly String process.arch;
platform
String, zoek naar de huidige platformnaam, mogelijke resultaten zijn 'darwin', 'freebsd', 'linux' of 'win32'
1static readonly String process.platform;
pid
Geheel getal, lees de id van het proces waarnaar het huidige object verwijst
1static readonly Integer process.pid;
ppid
Geheel getal, lees de id van het bovenliggende proces waarnaar door het huidige object wordt verwezen
1static readonly Integer process.ppid;
stdin
Stream, vraag het standaardinvoerobject van het huidige proces op, inttyZhongweiTTYInputStream, andersStream
1static readonly Stream process.stdin;
stdout
Stream, vraag het standaarduitvoerobject van het huidige proces op, inttyZhongweiTTYOutputStream, andersStream
1static readonly Stream process.stdout;
stderr
Stream, vraag het huidige processtandaardfoutuitvoerobject op, inttyZhongweiTTYOutputStream, andersStream
1static readonly Stream process.stderr;
exitCode
Geheel getal, vraag de exitcode van het huidige proces op en stel deze in
1static Integer process.exitCode;
connected
Boolean: vraag of de pipe met het bovenliggende proces normaal is verbonden
1static readonly Boolean process.connected;