-
child_process.exec()
メソッド:const { exec } = require('child_process'); exec('ls', (error, stdout, stderr) => { if (error) { console.error(`エラーが発生しました: ${error.message}`); return; } if (stderr) { console.error(`エラー出力: ${stderr}`); return; } console.log(`実行結果: ${stdout}`); });
この例では、
exec()
メソッドを使用してシェルコマンドls
を実行しています。エラーが発生した場合は、error
オブジェクトが返され、エラーメッセージが表示されます。また、stderr
にエラー出力が含まれている場合もあります。正常に実行された場合は、結果がstdout
に表示されます。 -
child_process.spawn()
メソッド:const { spawn } = require('child_process'); const ls = spawn('ls', ['-lh', '/usr']); ls.stdout.on('data', (data) => { console.log(`標準出力: ${data}`); }); ls.stderr.on('data', (data) => { console.error(`エラー出力: ${data}`); }); ls.on('close', (code) => { console.log(`プロセス終了コード: ${code}`); });
この例では、
spawn()
メソッドを使用して新しいプロセスを生成し、ls -lh /usr
コマンドを実行しています。標準出力とエラー出力はそれぞれstdout
およびstderr
イベントで処理されます。プロセスの終了時には、close
イベントが発生し、終了コードが表示されます。 -
child_process.execFile()
メソッド:const { execFile } = require('child_process'); const child = execFile('node', ['--version'], (error, stdout, stderr) => { if (error) { console.error(`エラーが発生しました: ${error.message}`); return; } console.log(`実行結果: ${stdout}`); });
この例では、
execFile()
メソッドを使用してnode --version
コマンドを実行しています。子プロセスが終了すると、コールバック関数が呼び出され、結果がstdout
に表示されます。
これらはNode.jsで子プロセスを実行するための一部の方法です。エラーハンドリングは重要な要素であり、上記の例ではエラーオブジェクトの処理やエラーメッセージの表示方法が示されています。また、他のパラメータやオプションも使用できますので、公式ドキュメントを参照することをおすすめします。