【Node.js24.x】Object::spawn()メソッドの使い方
spawnメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
spawnメソッドは、Node.jsアプリケーション内で新しい子プロセスを起動し、外部コマンドを実行するために使用されるメソッドです。
このメソッドは、Node.jsプロセスとは独立した別のプログラムやスクリプトを呼び出す際に非常に役立ちます。例えば、lsやgitのようなシステムコマンドを実行したり、Pythonなどの他の言語で書かれたスクリプトをNode.jsから起動したりすることが可能です。
spawnの特徴は、コマンドの出力をバッファリングせずにストリームとして扱う点にあります。これにより、非常に大きな出力が発生する処理でもメモリを効率的に利用し、リアルタイムでのデータ処理が可能になります。また、子プロセスの標準入力(stdin)、標準出力(stdout)、標準エラー(stderr)を直接制御できるため、双方向のデータ通信を実現できます。
spawnメソッドは非同期で動作するため、子プロセスの実行中でもNode.jsアプリケーションのメイン処理がブロックされることなく、応答性を保つことができます。これにより、バックグラウンドでの重い処理や、外部ツールとの連携、システム管理タスクなど、多様なシナリオで活用されます。このメソッドは通常、Node.jsのchild_processモジュールの一部として提供されます。
構文(syntax)
1async function mySpawnedFunction(inputA, inputB) { 2 return inputA + inputB; 3} 4 5async function executeSpawnedFunction() { 6 const result = await Object.spawn(mySpawnedFunction, { args: [10, 20] }); 7 console.log(result); 8} 9 10executeSpawnedFunction();
引数(parameters)
command, args, options
- command: string: 実行するコマンドまたはスクリプトのパス
- args: string[]: 実行するコマンドに渡す引数の配列
- options: object: プロセスの標準入力、標準出力、標準エラー出力、作業ディレクトリなどの挙動を制御するオプションオブジェクト
戻り値(return)
ChildProcess
ChildProcessオブジェクトを返します。これは、指定されたコマンドを新しいプロセスとして起動した結果を表し、そのプロセスの標準入出力などを操作するためのインターフェースを提供します。