Node.jsでchild_processモジュールを使用する方法


以下に、child_processモジュールの基本的な使用方法と一緒に、一部の一般的なタスクの例を示します。

  1. 外部コマンドの実行: child_processモジュールのexec関数を使用すると、外部コマンドを実行することができます。以下はその例です。
const { exec } = require('child_process');
exec('ls', (error, stdout, stderr) => {
  if (error) {
    console.error(`実行時エラー: ${error}`);
    return;
  }
  console.log(`標準出力: ${stdout}`);
  console.error(`標準エラー: ${stderr}`);
});
  1. 外部アプリケーションの起動: 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}`);
});
  1. プロセス間の通信: child_processモジュールのfork関数を使用すると、子プロセスをフォークして親プロセスとの間でメッセージの送受信を行うことができます。以下はその例です。
// parent.js
const { fork } = require('child_process');
const child = fork('child.js');
child.on('message', (message) => {
  console.log(`親プロセスが受信したメッセージ: ${message}`);
});
child.send('こんにちは、子プロセス!');
// child.js
process.on('message', (message) => {
  console.log(`子プロセスが受信したメッセージ: ${message}`);
});
process.send('こんにちは、親プロセス!');

これらはchild_processモジュールの一部の機能と例です。詳細な情報や他の使用方法については、Node.jsの公式ドキュメントを参照してください。