メインコンテンツへ飛ぶ

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

非推奨の警告が stderr へ出力されるかどうかを制御する boolean。 これを 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 に設定すると非推奨のスタックトレースが出力されます。 --trace-deprecation コマンドラインフラグの代わりにこのプロパティを使用します。

process.traceProcessWarnings

stderr に出力されるプロセスの警告にスタックトレースを含めるかどうかを制御する boolean。 これを true に設定するとプロセスの (非推奨を含む) 警告のスタックトレースが出力されます。 --trace-warnings コマンドラインフラグの代わりにこのプロパティを使用します。

process.type 読み出し専用

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

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

process.versions.chrome 読み出し専用

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

process.versions.electron 読み出し専用

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

process.windowsStore 読み出し専用

boolean。 アプリが Windows Store アプリ (appx) として実行されている場合、このプロパティは true です。それ以外の場合は 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 - アプリケーションまたはディスクキャッシュで使用されていないメモリの合計量。
  • 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'

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

process.takeHeapSnapshot(filePath)

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

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

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

process.hang()

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

process.setFdLimit(maxDescriptors) macOS Linux

  • maxDescriptors Integer

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