NodeJS サブプロセスの概要 NodeJS サブプロセスは、システムと対話するための重要なインターフェイスを提供します。その主な API は、標準入力、標準出力、および標準エラー出力のインターフェイスです。
NodeJS サブプロセスの概要
NodeJS サブプロセスは、システムと対話するための重要なインターフェイスを提供します。
標準入力、標準出力。および標準エラー出力インターフェイス
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')
例 1: 子プロセスを使用してシステム メモリ使用量を取得する
以下を保存します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) {
コンソール.log('標準エラー出力:
' data);
});
//子プロセスのシャットダウンイベントを登録します
free.on('exit', function (code, signal) {
console.log('child)プロセスが終了しました。コード: ' code);
コードの実行後の結果:
$ node free.js
Stdout :
キャッシュされた使用済みの空き共有バッファの合計
Mem: 3949 1974 1974 0 135 959
-/ バッファ/キャッシュ: 879 3070
Swap: 3905 0 3905
子プロセスはexited 、コード: 0
上記の出力は、コマンド ラインで free -m コマンドを実行するのと同じです。
この簡単な例を通じて、子プロセスの使用法をすでに理解しました。exec の使用法を示す別の例を次に示します。
例 2: 子プロセスを使用してシステムのログイン時間をカウントする
次のコードを last.js として保存します
var exec = require('child_process').exec,
last = exec( 'last | wc -l');
last.stdout.on('data', function (data) {
console.log('Stdout:' data);
});
last.on('exit', function (code) {
console.log('子プロセスが閉じられました, code: ' code);
}); 🎜>
実行コード:
$node last.js
標準出力:203
子プロセスは閉じられました、コード:0
と同じですコマンドラインに直接入力します: last | wc - l の結果は同じです。