91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Node.js中的process對象是什么

發布時間:2020-12-04 11:48:04 來源:億速云 閱讀:413 作者:小新 欄目:web開發

這篇文章主要介紹了Node.js中的process對象是什么,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

process 對象是一個全局變量,是一個 EventEmitter 實例,提供了當前 Node.js 進程的信息和操作方法

系統信息

process 對象提供了屬性用于返回關鍵系統信息,常用的有

  • title:進程名稱,默認值 node,程序可以修改,可以讓錯誤日志更清晰
  • pid:當前進程 pid
  • ppid:當前進程的父進程 pid
  • platform:運行進程的操作系統(aix、drawin、freebsd、linux、openbsd、sunos、win32)
  • version:Node.js 版本
  • env:當前Shell的所有環境變量

stdin & stdout

Node.js 和標準輸入、輸出設備交互對象也通過 process 對象提供

process.stdin.pipe(process.stdout)

簡單一行代碼可以實現把控制臺輸入內容在控制臺原樣打印出來

執行信息

process.execPath

process.execPath 屬性返回執行當前腳本的 Node 二進制文件的絕對路徑

process.argv

process.argv 屬性返回一個數組,內容是執行腳本時的參數,但數組前兩個固定

  • 執行當前腳本的 Node 二進制文件的絕對路徑

  • 當前執行文件絕對路徑

process.js

console.log(process.argv);
node process.js a --b=2

[
  '/usr/local/bin/node',
  '/Users/undefined/node-demo/process.js',
  'a',
  '--b=2'
]

process.execArgv

process.execArgv 屬性返回一個數組,成員是命令行下執行腳本時,在 Node 可執行文件與腳本文件之間的命令行參數

process.js

console.log(process.execArgv);
node --inspect process.js

[ '--inspect' ]

常用操作方法

  • process.chdir():切換工作目錄到指定目錄
  • process.cwd():返回運行當前腳本的工作目錄的路徑,也就是執行 node 命令時候的目錄
  • process.exit():退出當前進程
  • process.memoryUsage():返回 Node.js 進程的內存使用情況

進程事件

process 對象是 EventEmitter 對象實例,可以監聽一些系統核心事件, 常使用的有

exit

當 Node.js 進程因以下原因之一即將退出時,則會觸發 exit 事件:

  • 顯式調用 process.exit() 方法
  • Node.js 事件循環不再需要執行任何其他工作

此時無法阻止退出事件循環,并且一旦所有 exit 事件的監聽器都已完成運行時,Node.js 進程將終止

process.on('exit', (code) => {
  console.log(`退出碼: ${code}`);
});

uncaughtException

當前進程拋出一個沒有被捕捉的錯誤時,會觸發uncaughtException事件

process.on('uncaughtException', function (err) {
  console.error(err.stack);
});

beforeExit

當 Node.js 清空其事件循環并且沒有其他工作要安排時,會觸發 beforeExit 事件。 通常 Node.js 進程將在沒有調度工作時退出,但是在 beforeExit 事件上注冊的監聽器可以進行異步調用使 Node.js 進程繼續

process.on('beforeExit', (code) => {
  console.log('進程 beforeExit 事件的代碼: ', code);
});

process.on('exit', (code) => {
  console.log('進程 exit 事件的代碼: ', code);
});

console.log('此消息最新顯示');

// 打印:
// 此消息最新顯示
// 進程 beforeExit 事件的代碼: 0
// 進程 exit 事件的代碼: 0

message

如果使用 IPC 通道 fork Node.js 進程,子進程收到父進程使用 childprocess.send() 發送的消息,就會觸發 message 事件

process.on('message', (m) => {
  console.log('子進程收到消息', m);
});

process.nextTick(callback)

process.nextTick() 方法將 callback 添加到下一個時間點的隊列執行

感謝你能夠認真閱讀完這篇文章,希望小編分享Node.js中的process對象是什么內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

陇西县| 乌鲁木齐市| 肇州县| 馆陶县| 温州市| 舒兰市| 东宁县| 高碑店市| 耿马| 海丰县| 盱眙县| 宁化县| 基隆市| 云安县| 大兴区| 肇庆市| 会宁县| 崇信县| 凤城市| 峨山| 桐乡市| 澄迈县| 论坛| 双辽市| 南开区| 河曲县| 洞口县| 肃北| 昌邑市| 老河口市| 旬阳县| 施甸县| 黄冈市| 台江县| 贵溪市| 平定县| 香港| 汨罗市| 赫章县| 濮阳市| 武冈市|