Перейти к основному содержанию

process

Расширения для обработки объекта.

Процессы: Основной, Графический

Объект Electron process является расширенной версией объекта Node.js process. Он добавляет следующие события, свойства и методы:

Песочница

В песочнице графический объект process содержит только подмножество API:

  • crash() - Падение
  • hang() - Зависание
  • getCreationTime() - Время создания
  • getHeapStatistics() - Статистика кучи (распределяемой памяти)
  • getBlinkMemoryInfo() - Информация о памяти Blink
  • getProcessMemoryInfo() - Сведения о памяти процесса
  • getSystemMemoryInfo() - Информация о системной памяти
  • getSystemVersion() - Версия системы
  • getCPUUsage() - Использование процессора
  • getIOCounters() - Счетчики IO
  • uptime()
  • argv
  • execPath
  • env
  • pid
  • arch
  • platform
  • sandboxed - Запущена ли песочница
  • contextIsolated
  • тип
  • версия
  • versions - Список с версиями и их зависимостями
  • mas - Является ли сборкой Mac App Store
  • windowsStore - Является ли приложением Windows Store (appx)
  • contextId

События

Событие: 'loaded'

Срабатывает, когда Electron загрузил свой скрипт внутренней инициализации и начинает загружать веб-страницу или основной скрипт.

Свойства

process.defaultApp Только чтение

A boolean. When the app is started by being passed as parameter to the default Electron executable, this property is true in the main process, otherwise it is undefined. For example when running the app with electron ., it is true, even if the app is packaged (isPackaged) is true. This can be useful to determine how many arguments will need to be sliced off from process.argv.

process.isMainFrame Только чтение

A boolean, true when the current renderer context is the "main" renderer frame. If you want the ID of the current frame you should use webFrame.routingId.

process.mas Только чтение

A boolean. For Mac App Store build, this property is true, for other builds it is undefined.

process.noAsar

A boolean that controls ASAR support inside your application. Setting this to true will disable the support for asar archives in Node's built-in modules.

process.noDeprecation

boolean который управляет тем, будут ли предупреждения об устаревании выводиться в stderr или нет. Установка в true заглушит неодобряющие предупреждения. Это свойство используется вместо флага командной строки --no-deprecation.

process.resourcesPath Только чтение

string. Представляет из себя путь до каталога с ресурсами.

process.sandboxed Только чтение

A boolean. When the renderer process is sandboxed, this property is true, otherwise it is undefined.

process.contextIsolated Только чтение

A boolean that indicates whether the current renderer context has contextIsolation enabled. It is undefined in the main process.

process.throwDeprecation

boolean, определяет, будут ли предупреждения об устаревании выдаваться как исключения. Установка значения true приведет к выдаче ошибок при устаревании. Это свойство используется вместо флага командной строки --throw-deprecation.

process.traceDeprecation

boolean, определяет, будут ли сообщения об устаревании выдаваемые в stderr, включать трассировку стека. Установка значения true напечатает трассировку стека при устаревании. Это свойство вместо флага командной строки --trace-deprecation.

process.traceProcessWarnings

boolean, определяет, будут ли предупреждения процесса, выдаваемые в stderr, включать трассировку стека. Установка значения true напечатает трассировку стека для предупреждений процесса (включая устаревания). Это свойство вместо флага командной строки --trace-warnings.

process.type Только чтение

A string representing the current process's type, can be:

  • browser - The main process
  • renderer - A renderer process
  • worker - In a web worker
  • utility - In a node process launched as a service

process.versions.chrome Только чтение

string, представляющая строку версии Chrome.

process.versions.electron Только чтение

string, представляющая строку версии Electron.

process.windowsStore Только чтение

A boolean. If the app is running as a Windows Store app (appx), this property is true, for otherwise it is undefined.

process.contextId Только чтение

A string (optional) representing a globally unique ID of the current JavaScript context. Each frame has its own JavaScript context. When contextIsolation is enabled, the isolated world also has a separate JavaScript context. This property is only available in the renderer process.

process.parentPort

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

Методы

Объект process имеет следующие методы:

process.crash()

Вызывает сбой основного потока текущего процесса.

process.getCreationTime()

Возвращает number | null - Количество миллисекунд с начала эпохи, или null, если информация недоступна

Indicates the creation time of the application. Время представлено как количество миллисекунд с начала эпохи. It returns null if it is unable to get the process creation time.

process.getCPUUsage()

Возвращает CPUUsage

process.getIOCounters() Windows Linux

Возвращает IOCounters

process.getHeapStatistics()

Возвращает Object:

  • totalHeapSize Integer - Память, выделенная для кучи
  • totalHeapSizeExecutable Integer - Память для исполняемого файла
  • totalPhysicalSize Integer - Заданный размер
  • totalAvailableSize Integer - Доступный размер кучи
  • usedHeapSize Integer - Память, используемая данными приложения
  • heapSizeLimit Integer - Абсолютный предел, который куча не может превышать
  • mallocedMemory Integer - Текущий объем памяти, полученный через malloc
  • peakMallocedMemory Integer - Пиковый объем памяти, полученный через malloc
  • doesZapGarbage boolean - Включена ли опция --zap_code_space

Returns an object with V8 heap statistics. Обратите внимание, что вся статистика предоставляется ​​в Килобайтах.

process.getBlinkMemoryInfo()

Возвращает Object:

  • allocated Integer - Размер всех выделенных объектов в Килобайтах.
  • total Integer - Всего выделено места в Килобайтах.

Returns an object with Blink memory information. It can be useful for debugging rendering / DOM related memory issues. Note that all values are reported in Kilobytes.

process.getProcessMemoryInfo()

Возвращает Promise<ProcessMemoryInfo> - Разрешается с ProcessMemoryInfo

Returns an object giving memory usage statistics about the current process. Note that all statistics are reported in Kilobytes. This api should be called after app ready.

Chromium не предоставляет значение residentSet для macOS. Это связано с тем, что MacOS сжимает в памяти страницы, которые в последнее время не использовались. В результате значение размера резидентного набора не соответствует ожидаемому. private память является более репрезентативной для фактического использования перед сжатием памяти процесса в MacOS.

process.getSystemMemoryInfo()

Возвращает Object:

  • total Integer - Общий объем физической памяти в килобайтах, доступный системе.
  • free Integer - Общий объем памяти, не используемый приложениями или дисковым кэшем.
  • swapTotal Integer Windows Linux - Общий объем памяти подкачки в килобайтах, доступной системе.
  • swapFree Integer Windows Linux - Свободный объем памяти подкачки в килобайтах, доступный системе.

Returns an object giving memory usage statistics about the entire system. Note that all statistics are reported in Kilobytes.

process.getSystemVersion()

Возвращает string - Версию операционной системы хоста.

Пример:

const version = process.getSystemVersion()
console.log(version)
// В macOS -> '10.13.6'
// В Windows -> '10.0.17763'
// В Linux -> '4.15.0-45-generic'

Примечание: В отличие от os.release() он возвращает фактическую версию операционной системы, а не версию ядра на MacOS.

process.takeHeapSnapshot(filePath)

  • filePath string - Path to the output file.

Возвращает boolean, который указывает успешно ли создан снимок.

Делает снимок кучи V8 и сохраняет его в filePath.

process.hang()

Вызывает зависание основного потока текущего процесса.

process.setFdLimit(maxDescriptors) macOS Linux

  • maxDescriptors Integer

Устанавливает мягкое ограничение дескрипторов файлов до maxDescriptors или жесткое ограничение операционной системы, в зависимости от того, какое значение ниже для текущего процесса.