process

    进程: Main,

    Electron’s process 对象继承 Node.js process object。 它新增了以下事件、属性和方法

    在沙盒化的渲染进程中, process 对象只包含了API的一个子集:

    • crash()
    • hang()
    • getCreationTime()
    • getHeapStatistics()
    • getBlinkMemoryInfo()
    • getProcessMemoryInfo()
    • getSystemMemoryInfo()
    • getSystemVersion()
    • getCPUUsage()
    • getIOCounters()
    • uptime()
    • argv
    • execPath
    • env
    • pid
    • arch
    • platform
    • 沙盒化
    • type
    • version
    • versions
    • mas
    • contextId

    当Electron加载了它的内部初始化脚本并且是正要开始加载网页或主脚本时触发。

    process.defaultApp 只读

    一个 Boolean。 当应用程序启动时被作为参数传递给默认应用,这个属性在主进程中是true,否则是undefined

    process.isMainFrame 只读

    Boolean,若当前渲染器上下文是 渲染器”主”框架时为true。 如果你想得到当前框架的ID,你应该使用 webFrame.routingId

    process.mas 只读

    一个 Boolean。 为Mac App Store 构建,该属性是 true,为其他构建则为undefined

    process.noAsar

    Boolean 控制您应用程序内的 ASAR 支持。 设置为 true将会禁用Node内置模块中对 asar 的支持。

    process.noDeprecation

    Boolean 类型,用于控制弃用警告是否被打印到stderr。 将其设置为true将会禁用弃用警告。 使用此属性代替 -no-deprecation 命令行标志。

    process.resourcesPath 只读

    String 类型, 表示资源目录的路径。

    process.sandboxed 只读

    一个 Boolean。 当渲染器进程被沙盒化时,该属性是 true,否则是 undefined

    process.contextIsolated 只读

    一个Boolean类型的值指明当前渲染上下文是否启用了contextIsolation。 这在主进程中是undefined的。

    Boolean类型,用于控制是否将弃用警告当做例外。 设置它为 true 时会抛出错误。 使用此属性代替 --throw-deprecation 命令行标志。

    process.traceDeprecation

    process.traceProcessWarnings

    一个 Boolean, 用于控制是否将进程的警告打印到包含堆栈跟踪的 stderr中 。 将此设置为 true 将打印对进程警告的堆栈跟踪(包括弃用)。 此属性代替 --trace-warnings 命令行标志。

    process.type 只读

    String 代表当前进程的类型,可以是:

    • browser - 主进程类型
    • renderer - 渲染进程类型
    • worker - 网络工类型

    process.versions.chrome 只读

    ,一个表示 Chrome 版本的字符串。

    process.versions.electron 只读

    string,一个表示 Electron 版本的字符串。

    process.windowsStore 只读

    一个 Boolean。 如果应用以 Windows 商店应用(appx) 运行,该属性为true,否则为 undefined

    process.contextId 只读

    一个字符串 (可选) 代表当前JavaScript 上下文中的全局唯一ID。 每个对话框都有自己的 JavaScript 上下文。 当上下文隔离被启用,被隔离的环境中也有单独的JavaScript上下文。 该属性仅在渲染进程中可用。

    process 对象具有以下方法:

    process.crash()

    导致当前进程崩溃的主线程。

    返回 Number | null -从纪元开始的毫秒数,如果信息不可用则返回null

    指示应用程序的创建时间。 新时代(1970-01-01 00:00:00 UTC)以来的毫秒数表示的时间。 如果无法获得进程创建时间,则返回为空。

    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
    • peakMallocedMemory Integer
    • doesZapGarbage Boolean

    process.getBlinkMemoryInfo()

    返回 Object:

    • allocated Integer - 所有已分配对象的大小(kb)
    • marked Integer - 所有标记对象的大小(kb)
    • total Integer - 分配的总空间(kb)

    返回带有Blink内存信息的对象。 可以用于调试渲染/DOM相关内存问题。 请注意,所有值都以KB为单位

    process.getProcessMemoryInfo()

    返回 Promise<ProcessMemoryInfo> - Promise成功返回 PrecessMemoryInfo

    返回一个对象,提供当前进程的内存使用统计。 请注意,所有统计值都以KB为单位 这个api应该在应用程序准备就绪后被调用。

    Chromium 没有为macOS提供 residentSet 值。 因为macOS对最近未使用过的页面进行内存压缩。 结果是原始设置大小的值不是我们所期望的。 私有 内存更能代表在 macOS 上进程的实际预压缩内存的使用情况。

    process.getSystemMemoryInfo()

    返回 Object:

    • total Integer - 系统可用的物理内存总量(Kb)。
    • free Integer - 应用程序或磁盘缓存未使用的内存总量。
    • swapTotal Integer Windows Linux - 系统交换内存容量(单位:千字节)。
    • swapFree Integer Windows Linux - 系统可用交换内存大小(单位:千字节)。

    返回一个对象,提供整个系统的内存使用统计。 请注意,所有统计值都以KB为单位

    process.getSystemVersion()

    返回 String - 主机操作系统的版本。

    示例:

    注意: 它返回实际操作系统版本,而不是在 macOS 上的内核版本,不同于 os.release()

    process.takeHeapSnapshot(filePath)

    返回 Boolean - 指明快捷方式是否被成功创建。

    获取V8堆快照并保存到 filePath

    导致当前进程挂起的主线程。

    process.setFdLimit(maxDescriptors) macOS Linux

    • maxDescriptors Integer