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
// }
heapTotal
和heapUsed
執行 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' }