electron/docs/api/process.md

101 lines
3.2 KiB
Markdown
Raw Normal View History

2015-09-01 23:21:29 +00:00
# process
2016-04-21 22:39:12 +00:00
> Get information about the running application process.
2015-06-07 01:42:21 +00:00
The `process` object in Electron has the following differences from the one in
upstream node:
2015-08-29 04:47:31 +00:00
* `process.type` String - Process's type, can be `browser` (i.e. main process)
or `renderer`.
* `process.versions.electron` String - Version of Electron.
* `process.versions.chrome` String - Version of Chromium.
2014-10-25 23:00:23 +00:00
* `process.resourcesPath` String - Path to JavaScript source code.
2015-10-16 09:15:23 +00:00
* `process.mas` Boolean - For Mac App Store build, this value is `true`, for
other builds it is `undefined`.
* `process.windowsStore` Boolean - If the app is running as a Windows Store app
(appx), this value is `true`, for other builds it is `undefined`.
2016-05-17 21:54:33 +00:00
* `process.defaultApp` Boolean - When app is started by being passed as
parameter to the default app, this value is `true` in the main process,
otherwise it is `undefined`.
2016-05-17 21:46:50 +00:00
* `process.getSystemMemoryInfo` - Returns the amount of system memory and free
swap space
* `process.getProcessMemoryInfo` - Returns the amount of actual memory used by
Chromium for the current process.
2015-06-17 14:43:43 +00:00
2015-10-05 03:41:36 +00:00
## Events
### Event: 'loaded'
Emitted when Electron has loaded its internal initialization script and is
beginning to load the web page or the main script.
It can be used by the preload script to add removed Node global symbols back to
the global scope when node integration is turned off:
2016-04-22 14:15:31 +00:00
```javascript
2015-10-05 03:41:36 +00:00
// preload.js
const _setImmediate = setImmediate;
const _clearImmediate = clearImmediate;
process.once('loaded', () => {
global.setImmediate = _setImmediate;
global.clearImmediate = _clearImmediate;
2015-10-05 03:41:36 +00:00
});
```
2015-12-01 05:43:52 +00:00
## Properties
### `process.noAsar`
Setting this to `true` can disable the support for `asar` archives in Node's
built-in modules.
2015-10-05 03:41:36 +00:00
## Methods
2015-08-29 04:47:31 +00:00
The `process` object has the following method:
2016-04-22 21:58:41 +00:00
### `process.crash()`
Causes the main thread of the current process crash.
2015-12-01 05:43:52 +00:00
### `process.hang()`
2015-06-17 14:43:43 +00:00
Causes the main thread of the current process hang.
2015-10-16 09:15:23 +00:00
### `process.setFdLimit(maxDescriptors)` _OS X_ _Linux_
* `maxDescriptors` Integer
Sets the file descriptor soft limit to `maxDescriptors` or the OS hard
limit, whichever is lower for the current process.
2016-05-17 21:46:50 +00:00
### getProcessMemoryInfo()
2016-05-17 21:54:33 +00:00
Return an object giving memory usage statistics about the current process. Note
that all statistics are reported in Kilobytes.
2016-05-17 21:46:50 +00:00
2016-05-17 21:54:33 +00:00
* `workingSetSize` - The amount of memory currently pinned to actual physical
RAM
* `peakWorkingSetSize` - The maximum amount of memory that has ever been pinned
to actual physical RAM
* `privateBytes` - The amount of memory not shared by other processes, such as
JS heap or HTML content.
* `sharedBytes` - The amount of memory shared between processes, typically
memory consumed by the Electron code itself
2016-05-17 21:46:50 +00:00
### getSystemMemoryInfo()
2016-05-17 21:54:33 +00:00
Return an object giving memory usage statistics about the entire system. Note
that all statistics are reported in Kilobytes.
2016-05-17 21:46:50 +00:00
2016-05-17 21:54:33 +00:00
* `total` - The total amount of physical memory in Kilobytes available to the
system
* `free` - The total amount of memory not being used by applications or disk
cache
2016-05-17 21:46:50 +00:00
On Windows / Linux:
2016-05-17 21:54:33 +00:00
* `swapTotal` - The total amount of swap memory in Kilobytes available to the
system
* `swapFree` - The free amount of swap memory in Kilobytes available to the
system