Electron.js API参考——process
进程进程程对象的扩展。进程:主进程,渲染器进程Electron的process对象是从Node.jsprocess对象扩展的。它添加了以下事件,属性和方法:沙盒在沙盒渲染器中,process对象仅包含API的子集:crash()hang()getCreationTime()getHeapStatistics()getBlinkMemoryInfo()getProcessMemoryInfo()ge
沙盒
在沙盒渲染器中,process对象仅包含API的子集:
crash()hang()getCreationTime()getHeapStatistics()getBlinkMemoryInfo()getProcessMemoryInfo()getSystemMemoryInfo()getSystemVersion()getCPUUsage()getIOCounters()argvexecPathenvpidarchplatformsandboxedtypeversionversionsmaswindowsStore
事件:“已加载”
当Electron其内部初始化脚本加载完成,并开始加载网页或主脚本时发出。
当节点集成关闭时,预加载脚本可以使用它将已删除的Node全局符号添加回全局范围:
// preload.js
const _setImmediate = setImmediate
const _clearImmediate = clearImmediate
process.once('loaded', () => {
global.setImmediate = _setImmediate
global.clearImmediate = _clearImmediate
})
属性
process.defaultApp 只读
Boolean类型。通过将app作为参数传递给默认应用程序来启动app时,位于主进程中此属性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.throwDeprecation
Boolean类型。用于控制是否将弃用警告作为异常抛出。将此设置为true会引发弃用错误。使用此属性代替--throw-deprecation命令行标志。
process.traceDeprecation
Boolean类型。用于控制是否打印弃警告的堆栈跟踪到stderr。将此设置为true将打印废弃警告的堆栈跟踪。此属性代替--trace-deprecation命令行标志。
process.traceProcessWarnings
Boolean类型。用于控制是否打印进程警告及其堆栈跟踪到stderr。将此设置为true将会为进程警告(包括弃用)打印堆栈跟踪。此属性代替--trace-warnings命令行标志。
process.versions.chrome 只读
String类型。Chrome的版本字符串。
process.versions.electron 只读
String类型。代表电子的版本字符串。
process.windowsStore 只读
Boolean类型。如果该应用程序作为Windows Store应用程序(appx)运行,则此属性为true,否则为undefined。
方法
该process对象具有以下方法:
process.crash()
导致当前进程的主线程崩溃。
process.getCreationTime()
返回Number | null-自纪元以来的毫秒数,或者null如果信息不可用
指示应用程序的创建时间。时间表示为从纪元以来的毫秒数。如果无法获得进程创建时间,则返回null。
process.getHeapStatistics()
返回 Object:
totalHeapSize整数totalHeapSizeExecutable整数totalPhysicalSize整数totalAvailableSize整数usedHeapSize整数heapSizeLimit整数mallocedMemory整数peakMallocedMemory整数doesZapGarbage布尔型
返回具有V8堆统计信息的对象。请注意,所有统计信息均以千字节为单位报告。
process.getBlinkMemoryInfo()
返回Object:
allocated整数-所有已分配对象的大小,以千字节为单位。marked整数-所有标记对象的大小,以千字节为单位。total整数-分配的总空间(以千字节为单位)。
返回带有Blink内存信息的对象。对于调试与渲染/ DOM相关的内存问题,它可能很有用。请注意,所有值均以千字节为单位报告。
process.getProcessMemoryInfo()
返回Promise<ProcessMemoryInfo>-使用ProcessMemoryInfo解析
返回一个对象,该对象提供有关当前进程的内存使用情况统计信息。请注意,所有统计信息均以千字节为单位报告。应用就绪后应调用此api。
Chromium无法residentSet为macOS提供价值。这是因为macOS对最近未使用的页面执行内存压缩。结果,residentSet 大小值不是人们期望的值。private内存更能代表macOS上进程实际的压缩前内存使用情况。
process.getSystemMemoryInfo()
返回Object:
total整数-系统可用的物理内存总量(以千字节为单位)。free整数-应用程序或磁盘缓存未使用的内存总量。swapTotal整数Windows Linux-系统可用的交换内存总量(以千字节为单位)。swapFree整数Windows Linux-系统可用的免费交换内存量(以千字节为单位)。
返回一个对象,该对象提供有关整个系统的内存使用情况统计信息。请注意,所有统计信息均以千字节为单位报告。
process.getSystemVersion()
返回String-主机操作系统的版本。
例:
const version = process.getSystemVersion()
console.log(version)
// On macOS -> '10.13.6'
// On Windows -> '10.0.17763'
// On Linux -> '4.15.0-45-generic'
注意:它会返回实际的操作系统版本,而不是macOS上的内核版本os.release()。
process.takeHeapSnapshot(filePath)
filePath字符串-输出文件的路径。
返回Boolean-指示快照是否已成功创建。
拍摄V8堆快照并将其保存到filePath。
process.hang()
导致当前进程的主线程挂起。
process.setFdLimit(maxDescriptors) macOS Linux
maxDescriptors整数
将文件描述符的软限制设置为maxDescriptors或将OS硬限制设置为当前进程中的较低者。
更多推荐



所有评论(0)