Module basismodule

module proces

Procesverwerkingsmodule, gebruikt om de bronnen van het huidige proces te beheren

Referentiemethode:

1
var 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, beforeExitwordt de gebeurtenis geactiveerd

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

Normaal gesproken eindigt het fibjs-proces als er geen extra werk aan de takenwachtrij wordt toegevoegd. Maar als er beforeExiteen 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 beforeExitde 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 beforeExitde gebeurtenis wordt niet geactiveerd.

exit evenement

Wanneer fibjs afsluit, exitwordt de gebeurtenis geactiveerd. Zodra alle exitluisteraars die aan de gebeurtenis zijn gebonden de uitvoering hebben voltooid, wordt het proces beëindigd.

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

exitDe 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 6
var 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

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

1
static 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.

1
static 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.

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

1
static process.exit();

Sluit het huidige proces af en retourneer het resultaat

1
static process.exit(Integer code);

Oproepparameters:

  • code: Geheel getal, retourneert het procesresultaat

cwd

Retourneert het huidige werkpad van het besturingssysteem

1
static String process.cwd();

Resultaten retourneren:

  • String, retourneert het huidige systeempad

dlopen

Dynamisch laden van C++ Addons

1 2 3
static 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

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

1
static 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)

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

1
static 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 2
static 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

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

1
static Integer process.getgid();

Resultaten retourneren:

  • Integer, retourneert de groeps-ID van het huidige proces

getuid

Vraag de gebruikers-ID van het huidige proces op

1
static Integer process.getuid();

Resultaten retourneren:

  • Integer, retourneert de gebruikers-ID van het huidige proces

setgid

Stel de groeps-ID van het huidige proces in

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

1
static 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 2
static 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 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' });

Geef aangepaste of applicatiespecifieke proceswaarschuwingen af. Deze gebeurtenissen kunnen worden beluisterd door een handler toe te voegen aan de 'warning'-gebeurtenis

1 2 3
static 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

1
static process.disconnect();

send

Stuur een bericht naar het bovenliggende proces

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

1
static 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.

1
static readonly Array process.execArgv;

version

String, retourneert de tekenreeks van de fibjs-versie

1
static readonly String process.version;

versions

Object, retourneert de versie-informatie van fibjs en componenten

1
static readonly Object process.versions;

execPath

String, vraag het volledige pad op van het momenteel actieve uitvoeringsbestand

1
static readonly String process.execPath;

env

Object, bevraag de omgevingsvariabelen van het huidige proces

1
static readonly Object process.env;

arch

String, zoek naar de huidige CPU-omgeving, mogelijke resultaten zijn 'amd64', 'arm', 'arm64', 'ia32'

1
static readonly String process.arch;

platform

String, zoek naar de huidige platformnaam, mogelijke resultaten zijn 'darwin', 'freebsd', 'linux' of 'win32'

1
static readonly String process.platform;

pid

Geheel getal, lees de id van het proces waarnaar het huidige object verwijst

1
static readonly Integer process.pid;

ppid

Geheel getal, lees de id van het bovenliggende proces waarnaar door het huidige object wordt verwezen

1
static readonly Integer process.ppid;

stdin

Stream, vraag het standaardinvoerobject van het huidige proces op, inttyZhongweiTTYInputStream, andersStream

1
static readonly Stream process.stdin;

stdout

Stream, vraag het standaarduitvoerobject van het huidige proces op, inttyZhongweiTTYOutputStream, andersStream

1
static readonly Stream process.stdout;

stderr

Stream, vraag het huidige processtandaardfoutuitvoerobject op, inttyZhongweiTTYOutputStream, andersStream

1
static readonly Stream process.stderr;

exitCode

Geheel getal, vraag de exitcode van het huidige proces op en stel deze in

1
static Integer process.exitCode;

connected

Boolean: vraag of de pipe met het bovenliggende proces normaal is verbonden

1
static readonly Boolean process.connected;