process是一個全局內置對象,能夠在代碼中的任何位置訪問此對象,這個對象表明咱們的node.js代碼宿主的操做系統進程對象。
使用process對象能夠截獲進程的異常、退出等事件,也能夠獲取進程的當前目錄、環境變量、內存佔用等信息,還能夠執行進程退出、工做目錄切換等操做。node
1.cwd函數的基本用法
當咱們想要查看應用程序當前目錄時,能夠使用cwd函數,使用語法以下:函數
process.cwd();
2.chdir函數的基本用法
若是須要改變應用程序目錄,就要使用chdir函數了,它的用法以下:編碼
process.chdir("目錄");
3.stdout的基本用法
stdout是標準輸出流,它是幹什麼的呢?請下看下面的示例:
stderr是標準錯誤流,和stdout的做用差很少,不一樣的是它是用來打印錯誤信息的,咱們能夠經過它來捕獲錯誤信息,基本使用方法以下:操作系統
console.log = function(d){ process.stdout.write(d+'\n'); }
沒錯,它的做用就是將內容打印到輸出設備上,console.log就是封裝了它。code
4.stderr的基本用法對象
process.stderr.write(輸入內容);
5.stdin的基本用法
stdin是進程的輸入流,咱們能夠經過註冊事件的方式來獲取輸入的內容,以下:進程
process.stdin.on('readable', function() { var chunk = process.stdin.read(); if (chunk !== null) { process.stdout.write('data: ' + chunk); } });
示例中的chunk就是輸入流中的內容。事件
6.exit函數的基本用法
若是你須要在程序內殺死進程,退出程序,能夠使用exit函數,示例以下:內存
process.exit(code);
參數code爲退出後返回的代碼,若是省略則默認返回0;
7.註冊事件
前面講到如何在輸入流中打印信息,當咱們須要獲取stdout內容的時候應該怎麼作呢?請看以下的示例:it
process.stdout.on('data',function(data){ console.log(data); });
8.設置編碼
在咱們的輸入輸出的內容中有中文的時候,可能會亂碼的問題,這是由於編碼不一樣形成的,因此在這種狀況下須要爲流設置編碼,以下示例:
process.stdin.setEncoding(編碼); process.stdout.setEncoding(編碼); process.stderr.setEncoding(編碼);