nodejs呼び出しcmdコマンド
4353 ワード
child_を使うprocess.exec実現
ちどり_processすなわちサブルーチンは、システムのサブルーチンを作成し、shellコマンドを実行することができ、システムレベルとのインタラクションにおいて非常に有用である.
NodeJSサブルーチンは、システムと対話する重要なインターフェースを提供しています.その主なAPIは、標準入力、標準出力、標準エラー出力のインターフェースがあります.
NodeJSサブプロセスは、システムと相互作用する重要なインターフェースを提供し、その主要なAPIは以下の通りである.
1.システムコマンドラインを呼び出す
2.サードパーティのソフトウェアを開く
3.サードパーティのソフトウェアを開いて、通信を実現する
例:
コマンド行のipconfigを呼び出して、システムに関するIP情報を取得します.
(1)execを使用する
execは実行が完了した後に完全なブザーに戻り、戻りのブザーで完了状態を識別します.
spawnは実行時にstdoutとstderストリームオブジェクトを返し、実行しながら戻ります.実行が完了すると、closeイベントの傍受がスローされ、状態コードに戻り、サブプロセスが順調に実行されているかどうかを状態コードで知ることができます.
ちどり_processすなわちサブルーチンは、システムのサブルーチンを作成し、shellコマンドを実行することができ、システムレベルとのインタラクションにおいて非常に有用である.
NodeJSサブルーチンは、システムと対話する重要なインターフェースを提供しています.その主なAPIは、標準入力、標準出力、標準エラー出力のインターフェースがあります.
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')
child_を使うprocessモジュールのステップ:1.システムコマンドラインを呼び出す
2.サードパーティのソフトウェアを開く
3.サードパーティのソフトウェアを開いて、通信を実現する
例:
コマンド行のipconfigを呼び出して、システムに関するIP情報を取得します.
(1)execを使用する
"use strict";
var exec = require("child_process").exec;
module.exports = function myTest() {
return new Promise(function(resolve, reject) {
var cmd = "ipconfig";
exec(cmd,{
maxBuffer: 1024 * 2000
}, function(err, stdout, stderr) {
if (err) {
console.log(err);
reject(err);
} else if (stderr.lenght > 0) {
reject(new Error(stderr.toString()));
} else {
console.log(stdout);
resolve();
}
});
});
};
(2)spawnを使用するvar spawn = require("child_process").spawn;
module.exports = function myTest() {
return new Promise(function(resolve, reject) {
var cmd = "ipconfig";
var result = spawn('cmd.exe', ['/s', '/c', 'ipconfig']);
result.on('close', function(code) {
console.log('child process exited with code :' + code);
});
result.stdout.on('data', function(data) {
console.log('stdout: ' + data);
});
result.stderr.on('data', function(data) {
console.log('stderr: ' + data);
reject(new Error(stderr.toString()));
});
resolve();
});
};
説明:execは実行が完了した後に完全なブザーに戻り、戻りのブザーで完了状態を識別します.
spawnは実行時にstdoutとstderストリームオブジェクトを返し、実行しながら戻ります.実行が完了すると、closeイベントの傍受がスローされ、状態コードに戻り、サブプロセスが順調に実行されているかどうかを状態コードで知ることができます.