関数の概要
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で外部プロセスを実行する際に使用される関数です。非同期で動作し、外部プロセスとのデータのやり取りを可能にします。引数やオプションを適切に設定することで、柔軟に外部プロセスを制御することができます。