child_process.spawn

関数の概要

child_process.spawnは、Node.jsで外部プロセスを実行するための関数です。新しいプロセスを起動し、そのプロセスとの間でデータをやり取りすることができます。非同期で実行され、非同期処理を行う場合に利用されます。

パラメータの説明

パラメータ 用途
command String 実行するコマンド
args Array コマンドに渡す引数の配列
options Object オプション設定(環境変数など)

戻り値

child_process.spawnの戻り値は、ChildProcessオブジェクトです。このオブジェクトを使用して、外部プロセスとの通信や制御を行うことができます。非同期で動作します。

使用例

外部コマンドを実行する例:


const { spawn } = require('child_process');
const ls = spawn('ls', ['-lh', '/usr']);

ls.stdout.on('data', (data) => {
  console.log(`stdout: ${data}`);
});

コマンドに入力を渡す例:


const { spawn } = require('child_process');
const grep = spawn('grep', ['ssh']);

grep.stdin.write('root:x:0:0:root:/root:/bin/bash\n');
grep.stdin.end();

grep.stdout.on('data', (data) => {
  console.log(`stdout: ${data}`);
});

関連する関数

child_process.exec, child_process.fork, child_process.execFile

まとめ

child_process.spawnは、Node.jsで外部プロセスを実行する際に使用される関数です。非同期で動作し、外部プロセスとのデータのやり取りを可能にします。引数やオプションを適切に設定することで、柔軟に外部プロセスを制御することができます。