標籤:style blog http color io 使用 ar div sp
process是一個全域內建對象,可以在代碼中的任何位置訪問此對象,這個對象代表我們的node.js代碼宿主的作業系統進程對象。
使用process對象可以截獲進程的異常、退出等事件,也可以擷取進程的目前的目錄、環境變數、記憶體佔用等資訊,還可以執行進程退出、工作目錄切換等操作
1.當我們想要查看應用程式目前的目錄時,可以使用cwd函數 :
process.cwd();
2.如果需要改變應用程式目錄,就要使用chdir函數了:
process.chdir(‘目錄名‘);
3.stdout是標準輸出資料流,它的作用就是將內容列印到輸出裝置上,console.log就是封裝了它:
process.stdout.write(‘要輸出的內容‘);
4.stderr是標準錯誤流,和stdout的作用差不多,不同的是它是用來列印錯誤資訊的,我們可以通過它來捕獲錯誤資訊:
process.stderr.write(‘要輸出的內容‘);
5.stdin是進程的輸入資料流,我們可以通過註冊事件的方式來擷取輸入的內容:
//通過註冊事件的方式來擷取輸入的內容process.stdin.on(‘readable‘, function() { //擷取輸入資料流中的內容 var chunk = process.stdin.read(); if (chunk !== null) { //輸出data+輸入資料流的內容 process.stdout.write(‘data: ‘ + chunk); }});
6.如果你需要在程式內殺死進程,退出程式,可以使用exit函數:
//參數code為退出後返回的代碼,如果省略則預設返回0process.exit(code);
7.擷取stdout內容:添加註冊事件
process.stdout.on(‘data‘,function(data){ console.log(data);});
8.在我們的輸入輸出的內容中有中文的時候,可能會亂碼的問題,這是因為編碼不同造成的,所以在這種情況下需要為流設定編碼:
process.stdin.setEncoding(‘utf8‘);process.stdout.setEncoding(‘utf8‘);process.stderr.setEncoding(‘utf8‘);
9.更多process的用法:
http://nodeapi.ucdok.com/#/api/process.htmlhttp://nodejs.cn/api/process
node.js在windows下的學習筆記(8)---進程管理Process