メインコンテンツにスキップ

process

process オブジェクトの拡張機能。

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

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

サンドボックス

サンドボックス化されたレンダラーでは、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 が内部初期化スクリプトをロードし、Web ページまたはメインスクリプトのロードを開始するときに発行されます。

プロパティ

process.defaultApp 読み取り専用

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

process.isMainFrame 読み取り専用

boolean。現在のレンダラーコンテキストが「メイン」レンダラーフレームである場合は 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 読み取り専用

現在のレンダラーコンテキストで contextIsolation が有効になっているかどうかを示す boolean。メインプロセスでは 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 - Web worker 内
  • utility - サービスとして起動されたノードプロセス内

process.versions.chrome 読み取り専用

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

process.versions.electron 読み取り専用

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

process.windowsStore 読み取り専用

boolean。アプリが Windows ストアアプリ(appx)として実行されている場合、このプロパティは true になり、それ以外の場合は undefined になります。

process.contextId 読み取り専用

現在の JavaScript コンテキストのグローバルに一意の ID を表す string (オプション)。各フレームには独自の JavaScript コンテキストがあります。contextIsolation が有効になっている場合、分離されたワールドにも個別の JavaScript コンテキストがあります。このプロパティは、レンダラープロセスでのみ使用できます。

process.parentPort

これがUtilityProcessである場合(またはそれ以外の場合は null)、親プロセスとの通信を可能にするElectron.ParentPortプロパティ。

メソッド

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

process.crash()

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

process.getCreationTime()

number | null を返します - エポックからのミリ秒数、または情報が利用できない場合は null

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

process.getCPUUsage()

CPUUsage を返します

process.getHeapStatistics()

Object を返します

  • totalHeapSize 整数
  • totalHeapSizeExecutable 整数
  • totalPhysicalSize 整数
  • totalAvailableSize 整数
  • usedHeapSize 整数
  • heapSizeLimit 整数
  • mallocedMemory 整数
  • peakMallocedMemory 整数
  • doesZapGarbage ブール値

V8 ヒープ統計を含むオブジェクトを返します。すべての統計はキロバイト単位で報告されます。

process.getBlinkMemoryInfo()

Object を返します

  • allocated 整数 - 割り当てられたすべてのオブジェクトのサイズ(キロバイト)。
  • total 整数 - 割り当てられた合計スペース(キロバイト)。

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

process.getProcessMemoryInfo()

Promise<ProcessMemoryInfo> を返します - ProcessMemoryInfoで解決します

現在のプロセスに関するメモリ使用統計を返すオブジェクトを返します。すべての統計はキロバイト単位で報告されます。この API は、アプリの準備ができてから呼び出す必要があります。

ChromiumはmacOSに対してresidentSetの値を提供しません。これはmacOSが最近使用されていないページのインメモリ圧縮を行うためです。結果として、resident set sizeの値は期待されるものとは異なります。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)
// On macOS -> '10.13.6'
// On Windows -> '10.0.17763'
// On Linux -> '4.15.0-45-generic'

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

process.takeHeapSnapshot(filePath)

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

boolean - スナップショットが正常に作成されたかどうかを示します。

V8ヒープスナップショットを取得し、filePathに保存します。

process.hang()

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

process.setFdLimit(maxDescriptors) macOS Linux

  • maxDescriptors Integer

現在のプロセスのファイル記述子のソフトリミットを、maxDescriptorsまたはOSのハードリミットのいずれか小さい方に設定します。