141 lines
3.8 KiB
Markdown
141 lines
3.8 KiB
Markdown
# process
|
|
|
|
> process 객체에 대한 확장 기능.
|
|
|
|
`process` 객체는 Electron에서 약간 추가적인 기능이 있으며 API는 다음과 같습니다:
|
|
|
|
## Events
|
|
|
|
### Event: 'loaded'
|
|
|
|
Electron 내부 초기화 스크립트의 로드가 완료되고, 웹 페이지나 메인 스크립트를 로드하기
|
|
시작할 때 발생하는 이벤트입니다.
|
|
|
|
이 이벤트는 preload 스크립트를 통해 node 통합이 꺼져있는 전역 스코프에 node의 전역
|
|
심볼들을 다시 추가할 때 사용할 수 있습니다:
|
|
|
|
```javascript
|
|
// preload.js
|
|
const _setImmediate = setImmediate;
|
|
const _clearImmediate = clearImmediate;
|
|
process.once('loaded', () => {
|
|
global.setImmediate = _setImmediate;
|
|
global.clearImmediate = _clearImmediate;
|
|
});
|
|
```
|
|
|
|
## Properties
|
|
|
|
### `process.noAsar`
|
|
|
|
Setting this to `true` can disable the support for `asar` archives in Node's
|
|
built-in modules.
|
|
|
|
### `process.type`
|
|
|
|
Current process's type, can be `"browser"` (i.e. main process) or `"renderer"`.
|
|
|
|
### `process.versions.electron`
|
|
|
|
Electron's version string.
|
|
|
|
### `process.versions.chrome`
|
|
|
|
Chrome's version string.
|
|
|
|
### `process.resourcesPath`
|
|
|
|
Path to the resources directory.
|
|
|
|
### `process.mas`
|
|
|
|
For Mac App Store build, this property is `true`, for other builds it is
|
|
`undefined`.
|
|
|
|
### `process.windowsStore`
|
|
|
|
If the app is running as a Windows Store app (appx), this property is `true`,
|
|
for otherwise it is `undefined`.
|
|
|
|
### `process.defaultApp`
|
|
|
|
When app is started by being passed as parameter to the default app, this
|
|
property is `true` in the main process, otherwise it is `undefined`.
|
|
|
|
## Methods
|
|
|
|
The `process` object has the following method:
|
|
|
|
### `process.crash()`
|
|
|
|
Causes the main thread of the current process crash.
|
|
|
|
### `process.hang()`
|
|
|
|
Causes the main thread of the current process hang.
|
|
|
|
### `process.setFdLimit(maxDescriptors)` _macOS_ _Linux_
|
|
|
|
* `maxDescriptors` Integer
|
|
|
|
Sets the file descriptor soft limit to `maxDescriptors` or the OS hard
|
|
limit, whichever is lower for the current process.
|
|
|
|
### `process.getProcessMemoryInfo()`
|
|
|
|
Returns an object giving memory usage statistics about the current process. Note
|
|
that all statistics are reported in Kilobytes.
|
|
|
|
* `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
|
|
|
|
### `process.getSystemMemoryInfo()`
|
|
|
|
Returns an object giving memory usage statistics about the entire system. Note
|
|
that all statistics are reported in Kilobytes.
|
|
|
|
* `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.
|
|
|
|
On Windows / Linux:
|
|
|
|
* `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.
|
|
|
|
----------------------------------------
|
|
|
|
## Properties
|
|
|
|
### `process.noAsar`
|
|
|
|
이 속성을 `true`로 지정하면 Node 빌트인 모듈의 `asar` 아카이브 지원을 비활성화 시킬
|
|
수 있습니다.
|
|
|
|
## Methods
|
|
|
|
`process` 객체는 다음과 같은 메서드를 가지고 있습니다:
|
|
|
|
### `process.crash()`
|
|
|
|
현재 프로세스의 메인 스레드에 크래시를 일으킵니다.
|
|
|
|
### `process.hang()`
|
|
|
|
현재 프로세스의 주 스레드를 중단시킵니다.
|
|
|
|
### `process.setFdLimit(maxDescriptors)` _macOS_ _Linux_
|
|
|
|
* `maxDescriptors` Integer
|
|
|
|
현재 프로세스 파일 디스크립터의 제한 값을 소프트 제한 `maxDescriptors`의 값이나 OS 하드
|
|
제한 중 낮은 값으로 설정합니다.
|