NodeJSのサブプロセスを利用してシステムコマンドを呼び出す方法を共有します.

1996 ワード

NodeJS子プロセス概要NodeJS子プロセスは、システムとの相互作用の重要なインターフェースを提供しています.その主なAPIは、標準入力、標準出力および標準エラー出力のインターフェースがあります.
NodeJS子プロセス概要
NodeJSサブプロセスは、システムと相互作用する重要なインターフェースを提供し、その主要なAPIは以下の通りである.
標準入力、標準出力および標準エラー出力のインターフェース
child.stdin取得標準入力
child.stdout取得標準出力
child.stderは標準エラー出力を取得します.
サブプロセスのPIDを取得する:child.pid
サブプロセスを生成するための重要な方法を提供します.process.spawn(cmd,args=[],[options])
直接システムコマンドを実行するための重要な方法を提供します.process.exec(cmd,[options],calback)
殺しのプロセスを提供する方法:child.kill(signal='SIGTRM')
例一:サブプロセスを利用してシステムメモリの使用状況を取得する
以下のコードを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
-/+buffers/cache:879 3070
Swap:3905 0 3905
サブプロセスが終了しました.コード:0
以上の出力はコマンドラインで実行されます.free-mコマンドです.
この簡単な例を通して、サブプロセスの使用について理解しました.次の例を示します.execの使用方法を示します.
実例二:サブルーチンを利用してシステム登録回数を統計する
下のコードをlast.jsとして保存します.
 
  
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
コマンドラインに直接入力されたものと同じです.