nadejs進程管理小記

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(編碼);
相關文章
相關標籤/搜索