Aller au contenu principal

process

Extension de l'objet process.

Processus : Main, Renderer

L'objet process d'Electron une extension de l'objet process de Node.js. Cela ajoute les événements, propriétés et méthodes suivantes :

Mode bac à sable

Dans les moteurs de rendu en bac à sable, l'objet process ne contient qu'un sous-ensemble des APIs :

  • crash()
  • hang()
  • getCreationTime()
  • getHeapStatistics()
  • getBlinkMemoryInfo()
  • getProcessMemoryInfo()
  • getSystemMemoryInfo()
  • getSystemVersion()
  • getCPUUsage()
  • getIOCounters()
  • uptime()
  • argv
  • execPath
  • env
  • pid
  • arc
  • plateforme
  • bac à sable
  • contextIsolated
  • type
  • version
  • versions
  • mas
  • windowsStore
  • contextId

Événements

Événement : 'loaded'

Émis lorsque Electron a chargé son script d'initialisation interne et que commence à charger la page web ou le script principal.

Propriétés

process.defaultApp Readonly

Type: boolean. Lorsque l'application est démarrée en étant passée en paramètre à l'application par défaut, cette propriété aura la valeur true dans le processus principal, sinon elle sera undefined.

process.isMainFrame Readonly

boolean, true lorsque le contexte du moteur de rendu actuel est la frame de rendu "main" . Pour réupérer l'ID de la trame actuelle, vous devez utiliser webFrame.routingId.

process.mas Readonly

Type: boolean. Pour la compilation de l'App Store Mac, cette propriété est à true, pour les autres builds, elle est undefined.

process.noAsar

boolean qui contrôle la prise en charge d'ASAR dans votre application. Lorsque définit à true le support des archives asar dans les modules intégrés de Node sera désactivé.

process.noDeprecation

boolean contrôle si les avertissements de dépréciation sont enoyé ou pas vers le stderr. Lorsque définit comme true les avertissements de dépréciation ne sront pas reçus. Cette propriété est utilisée à la place du drapeau --no-deprecation.

process.resourcesPath Readonly

Une string représentant le chemin vers le répertoire des ressources.

process.sandboxed Readonly

Type: boolean. Lorsque le processus de rendu est en bac à sable, cette propriété est à true, sinon elle est undefined.

process.contextIsolated Lecture seule

boolean qui indique si le contexte du moteur de rendu actuel a sa contextIsolation activée. Est undefined dans le processus principal.

process.throwDeprecation

boolean qui contrôle si oui ou non les avertissements de dépréciation seront lancés sous la forme d'exceptions . En définissant cette valeur à true lancera des erreurs pour les dépréciations. Cette propriété est utilisée à la place du drapeau de ligne de commande --throw-deprecation.

process.traceDeprecation

boolean contrôle si les dépréciations sorties sur stderr incluent leur trace de pile. En définissant cette valeur à true affichera les traces de piles pour les dépréciations. Cette propriété est à la place du drapeau --trace-deprecation.

process.traceProcessWarnings

boolean qui contrôle si oui ou non les avertissements de processus sur stderr incluent leur trace de pile. En définissant cette valeur à true affichera les traces de piles pour les avertissements de processus (y compris les dépréciations). Cette propriété est à la place du drapeau de ligne --trace-warnings de la commande .

process.type Readonly

string représentant le type du processus actuel, celui-ci peut être:

  • browser - Pour le processus principal
  • renderer - Pour un processus de rendu
  • worker - Pour un web worker
  • utility - In a node process launched as a service

process.versions.chrome Readonly

Un string représentant la version de Chrome.

process.versions.electron Readonly

Un string représentant la version d'Electron.

process.windowsStore Readonly

Type: boolean. Indique si l'application fonctionne en tant qu'application Windows Store (appx), cette propriété est à true, sinon elle est undefined.

process.contextId Lecture seule

Une string (facultatif) représentant un ID globalement unique dans le contexte JavaScript actuel. Chaque frame a son propre contexte JavaScript. Lorsque contextIsolation est activé, le monde isolé dispose également d’un contexte JavaScript distinct. Cette propriété n’est disponible que dans le processus de rendu.

process.parentPort

A Electron.ParentPort property if this is a UtilityProcess (or null otherwise) allowing communication with the parent process.

Méthodes

L'objet process dispose des méthodes suivantes :

process.crash()

Cause le thread principal du processus en cours de plantage.

process.getCreationTime()

Retourne number | null - Le nombre de millisecondes depuis l'epoch, ou null si les informations sont indisponibles

Indique l’heure de création de l’application. Le temps est représenté par le nombre de millisecondes depuis l'epoch. Il retourne null s'il est impossible d'obtenir le temps de création du processus.

process.getCPUUsage()

Retourne CPUUsage

process.getIOCounters() Windows Linux

Retourne IOCounters

process.getHeapStatistics()

Retourne Object:

  • totalHeapSize Integer
  • totalHeapSizeExecutable Entier
  • Taillephysique Entier
  • Taille totale Entier
  • usedHeapSize Integer
  • heapSizeLimit Integer
  • Mémoire de malloced Entier
  • peakMallocedMemory Integer
  • doesZapGarbage boolean

Renvoie un objet avec les statistiques du tas de V8. Notez que toutes les statistiques sont en kilo-octets.

process.getBlinkMemoryInfo()

Retourne Object:

  • alloué Integer - Taille de tous les objets alloués dans Kilobytes.
  • total Integer - Espace total alloué en kilobytes.

Renvoie un objet avec des informations de mémoire Blink. Peut être utile pour déboguer des problèmes de mémoire liés au rendu / DOM. Notez que toutes les valeurs sont indiquées en Kilobytes.

process.getProcessMemoryInfo()

Retourne Promise<ProcessMemoryInfo> - résout avec un ProcessMemoryInfo

Renvoie un objet donnant des statistiques d’utilisation de la mémoire sur le processus en cours. Notez que toutes les statistiques sont exprimées en Kilobytes. Cette Api doit être appelée une fois l’application prête.

Chromium ne fournit pas de valeur residentSet pour macOS. Ceci est dû au fait que macOS effectue une compression en mémoire des pages qui n'ont pas été récemment utilisées. En tant que résultat la valeur de la taille de la définition résident n'est pas celle qu'on pourrait attendre. la mémoire privé est plus représentative de l'utilisation réelle de la mémoire de pré-compression du processus sur macOS.

process.getSystemMemoryInfo()

Retourne Object:

  • total Integer - La quantité totale de mémoire physique dans Kilobytes disponibles pour le système .
  • libre Integer - La quantité totale de mémoire non utilisée par les applications ou le cache du disque.
  • swapTotal Integer Windows Linux - La quantité totale de mémoire swap dans Kilobytes disponible pour le système .
  • swapFree Integer Windows Linux - La quantité gratuite de mémoire swap dans Kilobytes disponible pour le système .

Renvoie un objet donnant des statistiques d’utilisation de la mémoire sur l’ensemble du système. Notez que toutes les statistiques sont exprimées en Kilobytes.

process.getSystemVersion()

Retourne string - La version du système d'exploitation hôte.

Exemple :

const version = process.getSystemVersion()
console.log(version)
// Sur macOS -> '10. 3.6'
// Sous Windows -> '10.0.17763'
// Sous Linux -> '4.15.0-45-générique'

Remarque : Il retourne la version réelle du système d'exploitation au lieu de la version du noyau sur macOS contrairement à os.release().

process.takeHeapSnapshot(filePath)

  • filePath string - Chemin vers le fichier de sortie.

Retourne boolean - Indique si l'instantané a été créé avec succès.

Prend un instantané de tas V8 et l'enregistre dans filePath.

process.hang()

Cause le fil de discussion principal du processus actuel.

process.setFdLimit(maxDescriptors) macOS Linux

  • maxDescriptors Integer

Définit la limite de programmation du descripteur de fichier à maxDescriptors ou la limite de dur de l'OS, quelle que soit la plus faible pour le processus en cours.