摘要:是一個全局內(nèi)置對象,可以在代碼中的任何位置訪問此對象,這個對象代表我們的代碼宿主的操作系統(tǒng)進程對象。使用對象可以截獲進程的異常退出等事件,也可以獲取進程的當前目錄環(huán)境變量內(nèi)存占用等信息,還可以執(zhí)行進程退出工作目錄切換等操作。
process是一個全局內(nèi)置對象,可以在代碼中的任何位置訪問此對象,這個對象代表我們的node.js代碼宿主的操作系統(tǒng)進程對象。
使用process對象可以截獲進程的異常、退出等事件,也可以獲取進程的當前目錄、環(huán)境變量、內(nèi)存占用等信息,還可以執(zhí)行進程退出、工作目錄切換等操作。
1.cwd函數(shù)的基本用法
當我們想要查看應(yīng)用程序當前目錄時,可以使用cwd函數(shù),使用語法如下:
process.cwd();
2.chdir函數(shù)的基本用法
如果需要改變應(yīng)用程序目錄,就要使用chdir函數(shù)了,它的用法如下:
process.chdir("目錄");
3.stdout的基本用法
stdout是標準輸出流,它是干什么的呢?請下看下面的示例:
stderr是標準錯誤流,和stdout的作用差不多,不同的是它是用來打印錯誤信息的,我們可以通過它來捕獲錯誤信息,基本使用方法如下:
console.log = function(d){ process.stdout.write(d+" "); }
沒錯,它的作用就是將內(nèi)容打印到輸出設(shè)備上,console.log就是封裝了它。
4.stderr的基本用法
process.stderr.write(輸入內(nèi)容);
5.stdin的基本用法
stdin是進程的輸入流,我們可以通過注冊事件的方式來獲取輸入的內(nèi)容,如下:
process.stdin.on("readable", function() { var chunk = process.stdin.read(); if (chunk !== null) { process.stdout.write("data: " + chunk); } });
示例中的chunk就是輸入流中的內(nèi)容。
6.exit函數(shù)的基本用法
如果你需要在程序內(nèi)殺死進程,退出程序,可以使用exit函數(shù),示例如下:
process.exit(code);
參數(shù)code為退出后返回的代碼,如果省略則默認返回0;
7.注冊事件
前面講到如何在輸入流中打印信息,當我們需要獲取stdout內(nèi)容的時候應(yīng)該怎么做呢?請看如下的示例:
process.stdout.on("data",function(data){ console.log(data); });
8.設(shè)置編碼
在我們的輸入輸出的內(nèi)容中有中文的時候,可能會亂碼的問題,這是因為編碼不同造成的,所以在這種情況下需要為流設(shè)置編碼,如下示例:
process.stdin.setEncoding(編碼); process.stdout.setEncoding(編碼); process.stderr.setEncoding(編碼);
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/92646.html
摘要:非阻塞模型這種也很好理解,由阻塞的死等系統(tǒng)響應(yīng)進化成多次調(diào)用查看數(shù)據(jù)就緒狀態(tài)。復(fù)用模型,以及它的增強版就屬于該種模型。此時用戶進程阻塞在事件上,數(shù)據(jù)就緒系統(tǒng)予以通知。信號驅(qū)動模型應(yīng)用進程建立信號處理程序時,是非阻塞的。 引言 之前的兩篇文章 FastThreadLocal怎么Fast?、ScheduledThreadPoolExecutor源碼解讀 搞的我心力交瘁,且讀源碼過程中深感功...
閱讀 2164·2021-11-11 16:55
閱讀 1685·2019-08-30 15:54
閱讀 2817·2019-08-30 15:53
閱讀 2211·2019-08-30 15:44
閱讀 1152·2019-08-30 15:43
閱讀 965·2019-08-30 11:22
閱讀 1942·2019-08-29 17:20
閱讀 1566·2019-08-29 16:56