Skip to main content

在寫 node 之前??

Process 入門攻略

進程、行程、過程、行程、程序、處理程序都是指Process 都講到 Process了,就順帶提一下跟他非常有關係的 Program 和 Thread 經過我認真又隨便的研究,以我的觀察來看(完全不附帶任何責任) Program/Process/Thread 差異

Process是什麼他能幹嘛?

  1. Process是Node中的一個全域變數(如果不知道什麼是全域變數可以看上一篇),
  2. 他可以直接使用也可以使用require來使用
    • const process = require('process');
  3. 讀:獲取程序資訊 寫:執行程序操作
note

下面列舉的內容只是部分, 有興趣可以看一下官方process的API document。

獲取程序資訊

這邊感覺就是需要再查也可以的部分,我覺得不用特別記。 單純稍微看一下搞不好哪天想到有需要可以直接知道在process就可以get 到了

獲取Process所消耗的記憶體 process.memoryUsage()

process.memoryUsage()
{
rss: 21590016, // 總共佔用的記憶體
heapTotal: 4251648, // V8引擎總共使用的記憶體
heapUsed: 2161344, // V8引擎目前使用的記憶體
external: 680685 // 管理V8的記憶體
}

獲取處理user和system的CPU所需時間

process.cpuUsage()
{ 
user: 33426,
system: 11480
}

獲取PID資訊

目前我不知道這個要拿來幹嘛@@ 也許是打開工作管理員可以早點找到他? 或是拿取pid 在某些情境可以砍掉(?)

process.pid
<PID>

獲取目前程式執行目錄(我覺得實用)

實用原因是假使,今天要執行某module,可是在不同的資料夾而且有很多層 使用相對路徑可能會有很多層例如=> ../../../../module 這時候用這個就滿方便的。

process.cwd()
/Users/robinzhang/幹嘛@@ 也許是打開工作管理員

Node執行目錄(感覺會用到)

這個跟上面那個差異在 一個是程式執行的位置 一個是Node的資源位置

process.execPath
/usr/local/bin/node

獲取CPU架構

如果妳朋友不知道他電腦是幾位元的時候你可以包一個這隻程式,就可以馬上知道(裝逼)

process.arch
x64 //or x86