【node】process

看見了發表於2023-04-20

process

process模組允許你獲得或者修改當前node程式的設定,不想其他的模組,process是一個全域性程式(node主程式),你可以直接透過process變數直接訪問它。

process.argv

  • <string[]>

process.argv 屬性返回陣列,其中包含啟動 Node.js 程式時傳入的命令列引數。 第一個元素將是 process.execPath。 如果需要訪問 argv[0] 的原始值,請參閱 process.argv0。 第二個元素將是正在執行的 JavaScript 檔案的路徑。 其餘元素將是任何其他命令列引數

process.chdir(directory)

process.chdir() 方法更改 Node.js 程式的當前工作目錄,如果失敗則丟擲異常(例如,如果指定的 directory 不存在)。

process.platform

process.platform 屬性返回用於標識編譯 Node.js 二進位制檔案的作業系統平臺的字串。

  • aix
  • darwin // mac系統
  • freebsd
  • linux
  • openbsd
  • sunos
  • win32 // window系統
// 判斷當前系統是否為win
process.platform === 'win32'

process.arch: 返回CPU架構,值可能為: arm arm64 ia32 mips mipsel ppc ppc64 s390 s390x x64

process.env:返回包含環境名稱與值的鍵值對物件。比如process.env.NODE_ENV。

process.cwd():返回當前的工作目錄。

process.platform:返回一個識別作業系統的字串:'aix','darwin' (macOS),'freebsd','linux','openbsd','sunos',或者'win32' (Windows)。

process.uptime():返回Node.js程式已執行的秒數。

process.cpuUsage():返回當前程式的使用者和系統CPU時間的使用情況--例如{ user: 12345, system: 9876 }。將該物件傳給該方法,以獲得一個相對的讀數

const process = require("process");

const startUsage = process.cpuUsage();
// { user: 31000, system: 46000 }

process.memoryUsage():返回一個以位元組為單位描述記憶體使用情況的物件。

import { memoryUsage } from 'node:process';

console.log(memoryUsage());
// Prints:
// {
//  rss: 4935680,
//  heapTotal: 1826816,
//  heapUsed: 650472,
//  external: 49879,
//  arrayBuffers: 9386
// }
  • heapTotalheapUsed 執行 V8's 記憶體佔用.
  • external 指的是繫結到V8管理的JavaScript物件的c++物件的記憶體使用情況。
  • rss,常駐記憶體設定大小,是程式在主記憶體裝置中佔用的空間量(這是分配的總記憶體的子集),包括所有c++和JavaScript物件和程式碼。
  • arrayBuffers arrayBuffers指的是為arrayBuffers和SharedArrayBuffers分配的記憶體,包括所有Node.j的Buffers。它包含在external裡面.

process.version:返回Node.js版本的字串。比如18.0.0。

process.versions: 其中列出了Node.js及其依賴模組的版本字串。

import { versions } from 'node:process';

console.log(versions);
{ node: '11.13.0',
  v8: '7.0.276.38-node.18',
  uv: '1.27.0',
  zlib: '1.2.11',
  brotli: '1.0.7',
  ares: '1.15.0',
  modules: '67',
  nghttp2: '1.34.0',
  napi: '4',
  llhttp: '1.1.1',
  openssl: '1.1.1b',
  cldr: '34.0',
  icu: '63.1',
  tz: '2018e',
  unicode: '11.0' }

process.pid: 顯示程式的pid

process.report:生成診斷報告。

process.exit(code):退出當前應用程式。使用退出碼0來表示成功,或在必要時使用適當的錯誤程式碼。

參考文章

相關文章