进程对象

progress(进程)

进程对象的扩展
progress对象扩展了以下的API

事件

‘loaded’事件
当Electron已经加载完它内部的初始化脚本并准备加载web页面或者main脚本时触发.
当node集成被关闭时,它可以用来预加载移除的node全局变量给全局作用域

1
2
3
4
5
6
7
// preload.js
const _setImmediate = setImmediate;
const _clearImmediate = clearImmediate;
process.once('loaded', () => {
global.setImmediate = _setImmediate;
global.clearImmediate = _clearImmediate;
});

属性

process.noAsar
设置为true可以使nodejs的asar内置文件无效。
process.type
当前的进程类型,可以是"browser"(主进程)或者"render"
process.versions.electron
Electron的字符串版本号
process.versions.chrome
Chrome的字符串版本号
process.resourcesPath
资源目录的路劲
process.mas
对于Mac App Store,这个属性是true,其余的构建是undefined
process.windowsStore
对于Windows的app这个属性是true,其他的则是undefined
process.defaultApp
应用启动时,这个值作为参数默认传入,在主进程中这个属性是true,其他方面是undefined

方法

进程有以下的方法:
process.crash()
销毁当前进程的主线程
process.hang()
挂起当前进程的主线程
process.setFdLimit(maxDescriptors) macOS Linux

  • maxDescriptors 整数
    设置文件描述符软限制于 maxDescriptors 或硬限制与os, 无论它是否低于当前进程.
    process.getProcessMemoryInfo()
    返回当前进程的内存使用总计计的一个对象,注意所有的统计以千字节报告:
  • workingSetSize- 被压入到真实RAM物理机的内存总计
  • peakWorkingSetSize- 被压入到真实RAM物理机的的最大内存
  • privateBytes- 不被其他进程共享的内存总计,比如JS堆,HTML内容
  • sharedBytes- 进程间共享的内存总计,通常情况下是Electron自己的代码消耗的内存

process.getSystemMemoryInfo()
返回系统内存使用总计的对象,注意所有的统计以千字节报告:

  • total- 系统可用物理内存的总计
  • free- 还有多少空闲内存可用

在Windows或Linux

  • swapTotal
  • swapFree