ノードJSのサブプロセスを利用してシステムコマンドを呼び出します.

14444 ワード

ちどり_プロシーズすなわちサブルーチンは、システムのサブルーチンを作成し、shellコマンドを実行することができ、システムレベルとの対話において非常に有用である.NodeJS子プロセス概要NodeJS子プロセスは、システムとの相互作用の重要なインターフェースを提供しています.その主なAPIは、標準入力、標準出力および標準エラー出力のインターフェースがあります.
NodeJS子プロセス概要
NodeJSサブプロセスは、システムと相互作用する重要なインターフェースを提供し、その主要なAPIは以下の通りである.
標準入力、標準出力および標準エラー出力のインターフェース
  • child.stdin 取得基準入力
  • child.stdout 標準出力を取得する
  • child.stderr 標準エラー出力を取得する
  • サブプロセスのPIDを取得する:child.pid サブプロセスを生成するための重要な方法を提供する:child_process.spawn(cmd, args=[], [options]) 直接システム命令を実行するための重要な方法を提供する.child_process.exec(cmd, [options], callback) 殺しプロセスを提供する方法:child.kill(signal='SIGTERM')  例一:サブプロセスを利用してシステムメモリの使用状況を取得する
    以下のコードを保存します.  free.js:
    var spawn = require('child_process').spawn,
        free  = spawn('free', ['-m']);
    
    //                
    free.stdout.on('data', function (data) {
        console.log('    :
    '
    + data); }); // free.stderr.on('data', function (data) { console.log(' :
    '
    + data); }); // free.on('exit', function (code, signal) { console.log(' , :' + code); });
    コード実行後の結果:
    $ node free.js 
    
                 total       used       free     shared    buffers     cached
    Mem:          3949       1974       1974          0        135        959
    -/+ buffers/cache:        879       3070
    Swap:         3905          0       3905
    
          ,  :0
    以上の出力はコマンドラインで実行されるものに相当します.free -m コマンドです.
    この簡単な例を通して、サブプロセスの使用について理解しました.次にもう一つの例を示します. の使い方です
     実例二:サブルーチンを利用してシステム登録回数を統計する
    次のコードを保存します.  exec
    var exec = require('child_process').exec,
        last = exec('last | wc -l');
    
    last.stdout.on('data', function (data) {
        console.log('    :' + data);
    });
    
    last.on('exit', function (code) {
        console.log('      ,  :' + code);
    });
    実行コード:
    $ node last.js 
    203
    
          ,  :0
    コマンドラインに直接入力されたものと同じです.
    ソース:http://www.csser.com/board/4f3f516e38a5ebc97800050c