メインコンテンツへ飛ぶ

process

process オブジェクトの拡張です。

プロセス: メイン, レンダラー

Electron の process オブジェクトは、Node.js process object から拡張されています。 以下のイベント、プロパティ、メソッドが追加されます。

サンドボックス​

サンドボックス化されたレンダラーでは、process オブジェクトには以下に示す一部の API のみが含まれます。

  • crash()
  • hang()
  • getCreationTime()
  • getHeapStatistics()
  • getBlinkMemoryInfo()
  • getProcessMemoryInfo()
  • getSystemMemoryInfo()
  • getSystemVersion()
  • getCPUUsage()
  • uptime()
  • argv
  • execPath
  • env
  • pid
  • arch
  • platform
  • sandboxed
  • contextIsolated
  • type
  • version
  • versions
  • mas
  • windowsStore
  • contextId

イベント​

イベント: 'loaded'​

Electron が内部初期化スクリプトをロードし、ウェブページまたはメインスクリプトのロードを開始したときに発生します。

プロパティ​

process.defaultApp 読み出し専用​

boolean。 このアプリがデフォルトの Electron 実行形式に引数として渡されて起動された場合、このプロパティはメインプロセス内で true になります。それ以外では undefined です。 例えば、electron . でアプリを実行すると true になり、アプリがパッケージ化されて (isPackaged) いても true になります。 これは、process.argv から引数をいくつ切り捨てる必要があるのかの判断に役立ちます。

process.isMainFrame 読み出し専用​

booleanで、現在のレンダラーコンテキストが"main"レンダラー フレームの場合true。 現在のフレームの ID が必要な場合、webFrame.routingId を使用すべきです。

process.mas 読み出し専用​

boolean。 Mac App Store ビルドの場合、このプロパティは true、他のビルドでは undefined です。

process.noAsar​

アプリケーション内の ASAR サポートを制御する boolean 。 これをtrueに設定した場合、Nodeのビルトインモジュールのasarアーカイブのサポートが無効になります。

process.noDeprecation​

A boolean (optional) that controls whether or not deprecation warnings are printed to stderr. これを true に設定すると非推奨の警告が無効になります。 --no-deprecation コマンドラインフラグの代わりにこのプロパティを使用します。

process.resourcesPath 読み出し専用​

リソースディレクトリのパスを表す string。

process.sandboxed 読み出し専用​

boolean。 レンダラープロセスがサンドボックス化されている場合、このプロパティは true です。それ以外の場合は undefined です。

process.contextIsolated 読み出し専用​

boolean 型で、現在のレンダラーコンテキストで contextIsolation が有効かどうかを示します。 これはメインプロセスでは undefined です。

process.throwDeprecation​

非推奨の警告が例外としてスローされるかどうかを制御する boolean。 これを true に設定すると非推奨のエラーがスローされます。 --throw-deprecation コマンドラインフラグの代わりにこのプロパティを使用します。

process.traceDeprecation​

stderr に出力される非推奨にスタックトレースを含めるかどうかを制御する boolean。 これを true に設定すると非推奨のスタックトレースが出力されます。 This property is used instead of the --trace-deprecation command line flag.

process.traceProcessWarnings​

stderr に出力されるプロセスの警告にスタックトレースを含めるかどうかを制御する boolean。 これを true に設定するとプロセスの (非推奨を含む) 警告のスタックトレースが出力されます。 This property is used instead of the --trace-warnings command line flag.

process.type 読み出し専用​

現在のプロセスの種別を表す以下の string のいずれかになります。

  • browser - メインプロセス
  • renderer - レンダラープロセス
  • service-worker - サービスワーカー内
  • worker - ウェブワーカー
  • utility - サービスとして起動された Node のプロセス

process.versions.chrome 読み出し専用​

Chrome のバージョン文字列を表す string。

process.versions.electron 読み出し専用​

Electron のバージョン文字列を表す string。

process.windowsStore 読み出し専用​

boolean。 If the app is running as an MSIX package (including AppX for Windows Store), this property is true, otherwise it is undefined.

process.contextId 読み出し専用​

string 型 (任意) で、現在の JavaScript コンテキストにおけるグローバルな一意の ID を表します。 各フレームにはそれぞれ JavaScript コンテキストがあります。 contextIsolation が有効な場合、隔離ワールドにも個別の JavaScript コンテキストがあります。 このプロパティはレンダラープロセスでのみ利用可能です。

process.parentPort​

Electron.ParentPort 型のプロパティで、これが UtilityProcess の場合 (それ以外の場合は null)、親プロセスとの通信ができます。

メソッド​

process オブジェクトには以下のメソッドがあります。

process.crash()​

現在のプロセスのメインスレッドでクラッシュを発生させます。

process.getCreationTime()​

戻り値 number | null - 発生からのミリ秒数です。情報が利用できない場合は null を返します。

アプリケーションの作成時間を示します。 時間はエポックからのミリ秒数として表されます。 プロセスの作成時間を取得できない場合は null を返します。

process.getCPUUsage()​

戻り値 CPUUsage

process.getHeapStatistics()​

戻り値 Object:

  • totalHeapSize Integer
  • totalHeapSizeExecutable Integer
  • totalPhysicalSize Integer
  • totalAvailableSize Integer
  • usedHeapSize Integer
  • heapSizeLimit Integer
  • mallocedMemory Integer
  • peakMallocedMemory Integer
  • doesZapGarbage boolean

V8ヒープの統計を持つオブジェクトを返します。 すべての統計情報はキロバイト単位で返ってくることに注意してください。

process.getBlinkMemoryInfo()​

戻り値 Object:

  • allocated Integer - キロバイト単位でのすべての確保されたオブジェクトのサイズ。
  • total Integer - キロバイト単位での確保された空間の合計。

Blink のメモリ情報を持つオブジェクトを返します。 レンダリング/DOM 関連のメモリ問題のデバッグに役立ちます。 すべての数値はキロバイト単位で返ってくることに注意してください。

process.getProcessMemoryInfo()​

戻り値 Promise<ProcessMemoryInfo> - ProcessMemoryInfo で解決されます。

現在のプロセスについてのメモリ使用量の統計情報を与えるオブジェクトを返します。 すべての統計情報はキロバイト単位で返ってくることに注意してください。 このAPIはアプリの準備ができた後に呼び出されるべきです。

Chromium は macOS には residentSet の値を提供しません。 これは直近の使用されていないページを macOS がメモリ内で圧縮するためです。 結果として、residentSet の値は期待されるものではありません。 private メモリは、macOS でのプロセスの実際の圧縮前のメモリ使用量をよりよく表しています。

process.getSystemMemoryInfo()​

戻り値 Object:

  • total Integer - システムで利用可能な物理メモリの合計量 (キロバイト)。
  • free Integer - アプリケーションまたはディスクキャッシュで使用されていないメモリの合計量。
  • available Integer Linux - The kernel's estimate of the amount of memory available for allocation without swapping, from /proc/meminfo MemAvailable. Use this as the memory pressure signal on Linux; free there is MemFree, which excludes page cache and other reclaimable memory.
  • fileBacked Integer macOS - 現在ストレージにページアウトされているメモリの量。 ファイルキャッシュ、ネットワークバッファ、およびその他のシステムサービス用のメモリを含みます。
  • purgeable Integer macOS - 「パージ可能」と印付けされているメモリの量。 メモリ負荷が増加した場合、システムはそれを回収できます。
  • swapTotal Integer Windows Linux - システムが使用できるスワップメモリの合計量 (キロバイト) 。
  • swapFree Integer Windows Linux - システムが使用できるスワップメモリの空き容量 (キロバイト)。

システム全体についてのメモリ使用量の統計情報を与えるオブジェクトを返します。 すべての統計情報はキロバイト単位で返ってくることに注意してください。

process.getSystemVersion()​

戻り値 string - ホストのオペレーティングシステムのバージョン。

サンプル:

const version = process.getSystemVersion()
console.log(version)
// macOS -> '10.13.6'
// Windows -> '10.0.17763'
// Linux -> '4.15.0-45-generic'
note

os.release() とは異なり、macOS ではカーネルバージョンではなく実際のオペレーティングシステムのバージョンを返します。

process.takeHeapSnapshot(filePath)​

  • filePath string - 出力ファイルのパス

戻り値 boolean - スナップショットの作成が成功したかどうかを示します。

V8 ヒープのスナップショットを撮り、それを filePath に保存します。

process.hang()​

現在のプロセスのメインスレッドでハングを発生させます。

process.setFdLimit(maxDescriptors) macOS Linux​

  • maxDescriptors Integer

ファイルディスクリプタのソフトリミットを、maxDescriptors または OS のハードリミットの、いずれか低い方に設定します。