您好,登錄后才能下訂單哦!
這篇文章主要介紹了Node.js中的process對象是什么,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
process 對象是一個全局變量,是一個 EventEmitter 實例,提供了當前 Node.js 進程的信息和操作方法
process 對象提供了屬性用于返回關鍵系統信息,常用的有
Node.js 和標準輸入、輸出設備交互對象也通過 process 對象提供
process.stdin.pipe(process.stdout)
簡單一行代碼可以實現把控制臺輸入內容在控制臺原樣打印出來
process.execPath 屬性返回執行當前腳本的 Node 二進制文件的絕對路徑
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 屬性返回一個數組,成員是命令行下執行腳本時,在 Node 可執行文件與腳本文件之間的命令行參數process.js
console.log(process.execArgv);
node --inspect process.js [ '--inspect' ]
process 對象是 EventEmitter 對象實例,可以監聽一些系統核心事件, 常使用的有
當 Node.js 進程因以下原因之一即將退出時,則會觸發 exit
事件:
process.exit()
方法此時無法阻止退出事件循環,并且一旦所有 exit
事件的監聽器都已完成運行時,Node.js 進程將終止
process.on('exit', (code) => { console.log(`退出碼: ${code}`); });
當前進程拋出一個沒有被捕捉的錯誤時,會觸發uncaughtException
事件
process.on('uncaughtException', function (err) { console.error(err.stack); });
當 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
如果使用 IPC 通道 fork Node.js 進程,子進程收到父進程使用 childprocess.send()
發送的消息,就會觸發 message
事件
process.on('message', (m) => { console.log('子進程收到消息', m); });
process.nextTick() 方法將 callback 添加到下一個時間點的隊列執行
感謝你能夠認真閱讀完這篇文章,希望小編分享Node.js中的process對象是什么內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。